微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > cc3000接受数据的问题 (UDP)

cc3000接受数据的问题 (UDP)

时间:10-02 整理:3721RD 点击:

TI工程师,你们好

我在调试CC3000模块的时候,接收数据一直有问题。我用的是MSP430f5438a + CC3000 TIWI-SL模块,版本号是 1.6.1.2

连接WLAN和发送数据都没有问题,首先建立连接,通过DHCP获得IP地址,然后按照说明发送数据,在网络调试助手端收到了完整的数据。

之后我没有关闭socket,还用了同一个,尝试从PC发送数据到CC3000。我首先发送了一个1111, 然后按了05,程序进入了revfrom()之后就再也出不来了。我用LED

来测试,发现程序确实收到了事件HCI_EVENT_RECVFROM, 之后 有一个判断语句

if(((tBsdReadReturnParams *)pRetParams)->iNumberOfBytes == ERROR_SOCKET_INACTIVE) , 为真,进入了函数

set_socket_active_status(((tBsdReadReturnParams *)pRetParams)->iSocketDescriptor,
SOCKET_STATUS_INACTIVE);

之后数据接收的那一段代码根本没有执行,程序就死在这个while(1)里面了。能不能告诉我这是怎么一回事呢

我是进入到event_handler文件中检查hci_event_handler()函数时发现了这个问题。

之后我又尝试把socket绑定到一个特定的端口,不进行发送,直接接收数据,可是结果还是一样的,程序死在hci_event_handler里了。

我需不需要反复调用 revfrom函数呢,因为我从pc端发送数据过来,这个函数还没有执行,因为需要等我按下05之后才执行,需要我把它写在while (1)里面吗?

如果我底层驱动,也就是SPI有问题的话,发送数据不会成功的,所以我也不知道是哪里的问题了。

多谢回复!

你用setsockopt这个API设置一下SOCKOPT_RECV_TIMEOUT再试试看呢?如果接收没有数据超时就会返回。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top