使用Nucleus的网络模块时应该注意的地方:
*本来想着使用中断,以便处理网卡Receive数据。但是,没办法注册对应于网卡的中断,这是因为Nucleus所提供的网卡模块本身
已经注册了中断,是在网卡初始化函数 NU_Init_Net() 中做的。因此,只能使用时间片查询的方式,来定时查询是否Receive数据。
(使用 NU_Recv 函数,其返回值是所收到数据的字节数,根据这可以判断)
* NU_Recv 函数可以使用在任务中。我曾经尝试在Timer的事件处理函数中使用NU_Recv,会返回 -36 的错误,解释是这样的:
/* Attempt was made to make a
sockets call from an interrupt
without doing context save. */
大概意思是说,我的调用方式无法进行上下文切换。