CC3000能够通过UDP接收数据,但是不能发送数据给PC机?
你好,
在调试CC3000的Basic WiFi Application 时候,能够通过UDP协议接受数据,并且能够ping通,但是在通过CC3000发送数据给PC机的时候,PC机接收不到数据,数据也没有发到路由器上(但是在ping的时候,路由器可以通过浏览器访问192.168.1.1可以看到无线路由器上CC3000接受和发送的字节数。但是通过CC3000发送时,无线路由器没有接收到CC3000的数据)。这是什么原因,谢谢!
你用的是哪个版本的patch programmer和basic wifi application, 还有MCU是什么?
你好,
PatchProgrammer用的是PatchProgrammerMSP430FR5739_1_11_7_14_24windows_installer.exe,basic wifi application用的是1.13.7.13版本的,MCU是msp430fr5739。谢谢
我也出现了同样的问题,这里没有人说明是什么问题,不知您解决了没?
PatchProgrammerMSP430FR5739_1_11_7_14_24windows_installer;
FRAM-PatchMSP430FR5739-1_11_7_13_19-windows-installer。
如有其他人知道的,麻烦告之,万分感谢!
能否罗列一下详细步骤,我们也可以测试一下。
你好,通过调试发现问题主要产生在从超级终端输入命令的转换上(代码如下),在转换上并不能正常转换。但是转换的算法我通过其他软件(如: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
结构体里面的值是多少?可以看看是否是转换错了。
你好,我是经过IAR的断点调试,没有使用其他软件工具。下面是我调试给您截的图,供您参考。错误主要产生在通过转换命令赋值给变量ulDataLength时,产生错误结果。其他变量的值都是正确的。(这是我发送时通过超级终端敲入的命令:040512345021f90c0a80165)谢谢!
我在我这里试了很多次都没有这个问题,每次都能够解析对。
你用的是什么超级终端,能否换一个其它的工具试试。
我用的是TeraTerm version 4.80.
设置如下:
Baud Rate: 115200
Data 8-bit
Parity: none
Stop: 1 bit
Flow control: none
你好,
我换了您给我的超级终端工具,经过多次测试,问题并不是超级终端导致的。在我使用断点调试到(ulDataLength = atoshort(usBuffer[2], usBuffer[3]);)ulDataLength的值依然是个不正常的值。跟以前的结果是一样的。谢谢!
如果你不是在调试模式下,如果是在没有IAR,自由运行的模式下也是这样吗?
你好,
谢谢您的帮助,刚刚按照您说的不在调试模式下运行,PC机能收到数据。但是为什么在调试模式下PC机就不能收到数据,是因为IAR软件的问题吗?谢谢!
应该是的,我觉得你可以联系一下IAR的人问问看之前他们有没有遇到过类似的情形。
您好,我现在在用MSP430F5739+cc3000套件,patch programmer用的1.13, SDK用的1.12版本。
我smartconfig成功了,也返回了cc3000的ip地址,但是pc机ping不通这个ip地址。请问可能是什么原因呢?
谢谢
您好,我在调试过程中也遇到了同样的问题,不能send UDP data,而且CCS中也无法查看pcData的值(报错),请问你当时怎么解决的呢?谢谢!
您好,请问你当时的问题是怎么解决的呢?我也遇到同样问题,谢谢!
你的电脑能不能和路由器用网线连着,然后把电脑的防火墙关掉再测试看看。
你不能发送的话,要不要检查一下电脑上的防火墙。有时候电脑的防火墙会挡掉很多数据。