arduino通过esp8266模块传输数据,发现arduino接收到的数据不完整。
完整数据如下:
10000,0,20000,0,30000,1,40000,1,50000,1,60000,1,70000,1,80000,1,90000,1,10000,1,11000,1,12000,1,13000,1,14000,1,15000,1,16000,1,17000,1,18000,1,19000,1,20000,1,21000,1,22000,1,23000,1,24000,1
arduino得到的数据如下:
10000,0,20000,0,30000,1,40000,1,50000,1,60000,1,70000,1,80000,1,90000,1,10000,1,11000,1,12000,1,13000,1,14000,1,15000,1,16000,1,170,80,90,00,100120020012001nonc evr
有两个问题,一是数据不完整,二是带有后缀。
解决如下:对于数据不完整降低波特率
刚开始我的波特率是9600,delay(2),
改成波特率是4800,delay(3),即可以得到完整数据。
对于有后缀问题,主要是print的锅,把esp8266模块中的所有Serial.println
以及与print有关的全部注释,即可解决。
或者把print的波特率设置与串口的波特率不一样也可以解决,同时可以查看输出。