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通信速率问题!为什么只有几十Kbps?

Other Parts Discussed in Thread: MSP-EXP430FR5739

我现在在TI官方CC3000测试平台MSP-EXP430FR5739和CC3000EM上运行TI官方示例程序CC3000 FRAM sensor Application,程序可以正常运行,软硬件无问题。

我把程序小改了一下,原程序发送板子上的重力、温度数据到电脑上,现在我让它发送一个char数组unsigned char dataPacket2[] = { "hijklmn"}; 

其他的不变,CC3000工作还是在server状态,自己编了个上位机工作在client状态。通过路由器实现两者的连接,以及数据的收发。原程序使用语句bytesSent = send(clientDescriptor, (unsigned char *)dataPacket, sizeof(dataPacket), 0);发送数据,该语句在一个while循环中,如果条件满足则会不停的执行该语句。现在的问题是,每执行一次bytesSent = send(clientDescriptor, (unsigned char *)dataPacket, sizeof(dataPacket), 0);语句,通过示波器可以看到SPI总线上把整个数组“hijklmn”都发送给了CC3000,我期望的是CC3000能把该字符串发送到上位机。但是CC3000只发送了第一个字符‘h’,上位机只收到一个‘h’。当再次循环执行bytesSent = send(clientDescriptor, (unsigned char *)dataPacket, sizeof(dataPacket), 0);时,CC3000虽然又接收到了“hijklmn”,但只把第二个字符‘i’发送给上位机。依次循环,CC3000虽然完成了“hijklmn”的发送,但是速度大大降低了。

更令人不能接受的是,每执行一次bytesSent = send(clientDescriptor, (unsigned char *)dataPacket, sizeof(dataPacket), 0);,在示波器上可以看到中间都要停顿5ms左右的时间。这样的话每秒钟只能发送200个字节左右的数据。实际测的也确实如此。并且不管每次给CC3000多少字节,CC3000都只发送一个字节,因此dataPacket中数据的长度对整个通信速率基本无影响。

请问这是为什么呢,是因为主机驱动程序流程的问题?还是CC3000设置的问题?或者其他呢。。。

问题描述的有点乱,感谢耐心看完!还请大家踊跃发言哈,小弟跪求解答!!!