完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
开启socket后,TCP 客户端,用send()函数发送数据,服务端能接收到数据,但是程序却循环卡死了,
不久便收到HCI_EVENT_CC3000_CAN_SHUT_DOWN事件,点电重启了? 已经花了3天跟踪调试了,发现在调用send()后,模块返回了HCI_EVNT_DATA_UNSOL_FREE_BUFF事件,使得 tSLInformation.usEventOrDataReceived =0; 而SimpleLinkWaitEvent(HCI_EVNT_SEND, &tSocketSendEvent); 里面需要tSLInformation.usEventOrDataReceived !=0,才执行解事件,所以卡死在这里。 也正是因为收到HCI_EVNT_DATA_UNSOL_FREE_BUFF事件,才会有HCI_EVENT_CC3000_CAN_SHUT_DOWN,官方的代码如下: case HCI_EVNT_DATA_UNSOL_FREE_BUFF: [ hci_event_unsol_flowcontrol_handler(event_hdr); // NumberOfReleasedPackets = tSLInformation.NumberOfReleasedPackets; NumberOfSentPackets = tSLInformation.NumberOfSentPackets; //01 if (NumberOfReleasedPackets == NumberOfSentPackets) [ if (tSLInformation.InformHostOnTxComplete) [ tSLInformation.sWlanCB(HCI_EVENT_CC3000_CAN_SHUT_DOWN, NULL, 0); ] ] return 1; ] 所以很奇怪,调用send()后,为什么会返回 HCI_EVNT_DATA_UNSOL_FREE_BUFF事件,而且我读了模块内部的缓存序列,是有6个为空的,应该不会有溢出之类的啊?? 其他初始化和配置都很正常, |
|
相关推荐
5个回答
|
|
请问你用的是TI的参考板吗? 这个问题是发第一个数据包就会出现吗?
如果有答案已经回答了您的问题,请标注为已回答。 Please close your question if it has been solved. ------------------------------------------------------------------ |
|
|
|
一个黄人 发表于 2018-5-14 03:58 您好,这个问题已经解决了,是我的模块固件版本太低,升级一下就OK了 可是在我调用Send()函数后数据能正常发送,也不会卡死,可是模块依然会发一个HCI_EVENT_CC3000_CAN_SHUT_DOWN(0x99)异步事件给我 请问这是正常的吗? |
|
|
|
zhe0010 发表于 2018-5-14 04:17 你忽略掉它好,它只是告诉你发送完了,你如果有需要可以shut down CC3000. 你可以在启动的时候就用wlan_set_event_mask把这个事件mask掉就好了。 如果有答案已经回答了您的问题,请标注为已回答。 Please close your question if it has been solved. ------------------------------------------------------------------ |
|
|
|
一个黄人 发表于 2018-5-14 04:26 好的,非常感谢。解决问题了 |
|
|
|
一个黄人 发表于 2018-5-14 04:26 https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc3000/f/851/t/339046 You cannot mask HCI_EVENT_CC3000_CAN_SHUT_DOWN. You are only allowed to mask the below events as mentioned in the API documentation. //! HCI_EVNT_WLAN_UNSOL_CONNECT connect event //! HCI_EVNT_WLAN_UNSOL_DISCONNECT disconnect event //! HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE smart config done //! HCI_EVNT_WLAN_UNSOL_INIT init done //! HCI_EVNT_WLAN_UNSOL_DHCP dhcp event report //! HCI_EVNT_WLAN_ASYNC_PING_REPORT ping report //! HCI_EVNT_WLAN_KEEPALIVE keepalive //! HCI_EVNT_WLAN_TX_COMPLETE - disable information on end of transmission 好像只可以忽略上述几个,HCI_EVNT_DATA_UNSOL_FREE_BUFF即使调用wlan_set_event_mask也没有用,发送完毕还是会异步受到的。 |
|
|
|
只有小组成员才能发言,加入小组>>
586 浏览 1 评论
427 浏览 1 评论
620 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
910 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
709 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
193浏览 29评论
1155浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
323浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
286浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
135浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 13:58 , Processed in 0.440368 second(s), Total 48, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号