最近做的一个项目涉及到ESP8266WIFI通信,大概就是一个24BIT的AD以500sps速率采集数据然后通过ESP8266发送到服务器,同时还需要保存到内存卡中。
问题现象;先调通AD采集到内存卡保存,一切正常,加入ESP8266发现数据会丢。经过测试发现时ESP8266发送的时间太长了。问题分析;两通道24bit的ADC采样率500sps,每个数据保存成32bits,也就是4字节,每128个数据做一次保存,并且发送,也就是每256ms做一次。一次需要处理的数据量是2*4*128=1024bytes。
测试函数如下:
</pre><pre>
/*************************************************/
//
//numofdata < 2048
//timeout uint ms
/*************************************************/
void esp8266_SendData(u8 *datbuf, u16 numofdata,u32 timeout)
{
ST_BodyTypeDef* delayTask;
u8 str[5] = {0};
static u8 test[