ESP8266作为TCP服务端,电脑作为TCP客户端,单片机串口与ESP8266串口相连,目的是实现单片机与电脑客户端之间数据互传。
```c uint8_t readBuf[256]; char readBuf_1[256]; int inComingBytes_1; while (client.connected()) //如果客户端处于连接状态 { //接收客户端数据转发给串口 int inComingBytes = client.available(); if(inComingBytes > 0){ client.read(readBuf, inComingBytes); Serial.write(readBuf, inComingBytes); } //接收串口数据转发给客户端 inComingBytes_1 = Serial.available(); delay(5);//解决方法 if(inComingBytes_1 > 0){ Serial.read(readBuf_1, inComingBytes_1); client.write(readBuf_1, inComingBytes_1); } } ```在利用ESP8266将串口数据与TCP数据互传时遇到问题,串口接收的数据不能一次发给TCP客户端,而是分为两次发送。
如发送:49 60 00 35 00 00 15 7b 时。客户端收到的数据为
49
60 00 35 00 00 15 7b
评论 (0)