- 在Isolar中配置Ethif的时候,发现会要求配置一个周期性的RxMainFunctionProcess,如果我们在EB中配置了Eth中断接收,是否有冲突呢?
Polling相关的信息如下图:
2. 在周期任务的task里面也会发现有对应的MainFunction:
![](https://img-blog.csdnimg.cn/direct/8375f40b3dbc4b78bcc917d8b06d2277.png)
3. 那么这里是如何做到兼容的呢?——如果配了中断接收,那么这里的周期任务是否会对报文接收有啥影响呢?
其实这里EB提供给了两个接口:一个供中断接收方式调用(Eth_17_Geth_lReceiveFrames),一个供polling方式调用(Eth_17_Geth_Receive)——这里polling的方式最终也会调用到Eth_17_Geth_lReceiveFrames,但是首先调用的是Eth_17_Geth_Receive。
理一下其中的关系:
ISR: ISR_Entry——>Eth_17_Geth_lReceiveFrames——>EthIf_RxIndication
Polling: MainFunctonFiFo——>Eth_17_Geth_Receive—if no ISR config—>Eth_17_Geth_lReceiveFrames——EthIf_RxIndication
因为这里配置了3,所以断点处的条件不满足,也就是Eth_17_Geth_Receive在polling模式下不会执行Eth_17_Geth_lReceiveFrames。