用stm32f103作为MCU控制cc3000,采用tcp连接,循环发送数据,每次数据的大小为998Byte,发送51次,用网络调试助手记录下从第一次收到数据到收到最后一组数据所用的时间,这样粗略的估计出发送速度是1.2KB/s。发送代码是:
case UART_COMMAND_SEND_DATA_TCP:
memset(Datasend,0x31,sizeof(Datasend));
pcData=Datasend;
ulDataLength = sizeof(Datasend);
pcSockAddrAscii =&usBuffer[2];
// the family is always AF_INET
//tSocketAddr.sa_family = atoshort(pcSockAddrAscii[0], pcSockAddrAscii[1]);
tSocketAddr.sa_family =2;
// the destination port
tSocketAddr.sa_data[0] = ascii_to_char(pcSockAddrAscii[0], pcSockAddrAscii[1]);
tSocketAddr.sa_data[1] = ascii_to_char(pcSockAddrAscii[2], pcSockAddrAscii[3]);
// the destination port
tSocketAddr.sa_data[2] = ascii_to_char(pcSockAddrAscii[4], pcSockAddrAscii[5]);
tSocketAddr.sa_data[3] = ascii_to_char(pcSockAddrAscii[6], pcSockAddrAscii[7]);
tSocketAddr.sa_data[4] = ascii_to_char(pcSockAddrAscii[8], pcSockAddrAscii[9]);
tSocketAddr.sa_data[5] = ascii_to_char(pcSockAddrAscii[10], pcSockAddrAscii[11]);
ulSocket = socket(2,1,6);
if(connect(ulSocket,&tSocketAddr,sizeof(sockaddr))==0)
{
for(linkserver=50;linkserver>=0;linkserver--)
{
send(ulSocket,pcData,ulDataLength,0);
}
closesocket(ulSocket);
}
然后spi采用DMA发送,速率为9Mbps。各位有没有其它的方法来提升发送速率呢?谢谢