你好,
在调试CC3000的Basic WiFi Application 时候,能够通过UDP协议接受数据,并且能够ping通,但是在通过CC3000发送数据给PC机的时候,PC机接收不到数据,数据也没有发到路由器上(但是在ping的时候,路由器可以通过浏览器访问192.168.1.1可以看到无线路由器上CC3000接受和发送的字节数。但是通过CC3000发送时,无线路由器没有接收到CC3000的数据)。这是什么原因,谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,
在调试CC3000的Basic WiFi Application 时候,能够通过UDP协议接受数据,并且能够ping通,但是在通过CC3000发送数据给PC机的时候,PC机接收不到数据,数据也没有发到路由器上(但是在ping的时候,路由器可以通过浏览器访问192.168.1.1可以看到无线路由器上CC3000接受和发送的字节数。但是通过CC3000发送时,无线路由器没有接收到CC3000的数据)。这是什么原因,谢谢!
你用的是哪个版本的patch programmer和basic wifi application, 还有MCU是什么?
你好,通过调试发现问题主要产生在从超级终端输入命令的转换上(代码如下),在转换上并不能正常转换。但是转换的算法我通过其他软件(如:VC++)调试的结果很正确。后来我通过发送固定的字符和长度还有固定的IP(直接查看PC机的IP地址),发现能够正常发送数据。所以我才推断可能是前面对终端命令的转换有问题,才导致不能正常发送。谢谢!
case UART_COMMAND_SEND_DATA: // data pointer pcData = (char *)&usBuffer[4]; // data length to send ulDataLength = atoshort(usBuffer[2], usBuffer[3]); #ifdef CC3000_TINY_DRIVER if(ulDataLength > CC3000_APP_BUFFER_SIZE) { ulDataLength = CC3000_APP_BUFFER_SIZE; } #endif pcSockAddrAscii = (pcData + ulDataLength); // the family is always AF_INET tSocketAddr.sa_family = atoshort(pcSockAddrAscii[0], pcSockAddrAscii[1]); // the destination port tSocketAddr.sa_data[0] = ascii_to_char(pcSockAddrAscii[2], pcSockAddrAscii[3]); tSocketAddr.sa_data[1] = ascii_to_char(pcSockAddrAscii[4], pcSockAddrAscii[5]); // the destination IP address tSocketAddr.sa_data[2] = ascii_to_char(pcSockAddrAscii[6], pcSockAddrAscii[7]); tSocketAddr.sa_data[3] = ascii_to_char(pcSockAddrAscii[8], pcSockAddrAscii[9]); tSocketAddr.sa_data[4] = ascii_to_char(pcSockAddrAscii[10], pcSockAddrAscii[11]); tSocketAddr.sa_data[5] = ascii_to_char(pcSockAddrAscii[12], pcSockAddrAscii[13]);
你是怎么调试的,有用IAR或者CCS之类的工具,能否查看一下在出现这种情形的时候
tSocketAddr
结构体里面的值是多少?可以看看是否是转换错了。
我在我这里试了很多次都没有这个问题,每次都能够解析对。
你用的是什么超级终端,能否换一个其它的工具试试。
我用的是TeraTerm version 4.80.
设置如下:
Baud Rate: 115200
Data 8-bit
Parity: none
Stop: 1 bit
Flow control: none
你的电脑能不能和路由器用网线连着,然后把电脑的防火墙关掉再测试看看。
你不能发送的话,要不要检查一下电脑上的防火墙。有时候电脑的防火墙会挡掉很多数据。