- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
CC3100做wifi通信数据接收程序卡死问题
录入:edatop.com 点击:
CC3100做wifi通信数据接收程序卡死问题
使用CC3100做wifi通信的时候,在调用的sl_RecvFrom的时候,一直要等到有数据过来才能执行这个函数,相当于没有收到数据的话程序就在这里卡死了!好像是关于阻塞和非阻塞的问题吧!
怎么样采用其他方式接收?比如采用中断方式接收,或者是不是可以再SimpleLinkSockEventHandler函数里面完成接收?
或者说,最不好的情况可以不用在sl_RecvFrom接收的情况卡死,采用查询的方式接收,能否给出响应的例子,
非常感谢!
自己找到非阻塞方式的使用办法了,在API里有介绍!
SlSockNonblocking_t enableOption;
enableOption.NonblockingEnabled = 1;
sl_SetSockOpt(SockID,SL_SOL_SOCKET,SL_SO_NONBLOCKING, (_u8 *)&enableOption,sizeof(enableOption)); // Enable/disable nonblocking mode
但是按照API的方法试了之后,我再不停的查询发送的过程中,程序没有跑多长时间就死掉了!而且动不动就死掉,应该是socket死掉,程序一直在执行
_SlNonOsMainLoopTask(void)函数