esp8266-01s与c51串口通讯问题

esp8266-01s与c51串口通讯问题

我用的mqtt协议实现通信
因为我看好多文章说esp8266-01s与c51串口通讯,esp8266传给51的数据都是以+IPD0,1:的格式

然后我想截取:后边有用的数据,比如说1 0 用来控制点灯

img


这是我的中断函数
但是经过我多次调试发现SBUF的字符只能赋值给Recive_table[0],而没有按照预期的那样遇到:后依次赋值给Recive_table[i]

求解答一下

自己重新编译8266固件,抛开51

只是点个灯,实在没必要用ESP8266+51的组合方式,8266自己就能搞定。如果8266 IO不够用,还可以考虑ESP32。51的处理能力比ESP差得多,只是起一个扩展IO的作用而已,扩展IO的方案其实很多,双CPU的方案,协调起来麻烦。

你的i++只有在收到冒号是才执行,当然不会保存所有字符,应该让i一直加加,遇到回车换行才清零,这样你才能获得一行完整字符串,然后字节写个算法或者用标准库函数 strtok()分离出 ,和:之间的数字。