1.单片机
2.esp8266
3.esp8266连接米家
4.米家控制esp8266 所发送的数据
5.esp8266把数据发送给单片机
单片机如何接收esp8266发送的一长串数据,我定义了k[50]来接收数据,但数据可能大过范围,导致在主函数中处理数据出错,麻烦大家指点指点该怎么处理长串的数据并且不丢失
还有个问题,如果再主函数中处理数据时中断来了,在中断函数中覆盖了之前的数据,返回主函数在进行数据处理就出错了该怎么避免。如果在中断函数中加上if 如果下标等于49时ES=0,再让主函数处理完数据后再开启中断,那数据会有丢失吗?
ESP8266的资源其实比你的单片机大得多,建议用ESP8266完成数据操作,单片机只做IO扩展,ESP8266发送简单命令控制.或者考虑用IO更多的ESP32完全取代外部单片机,这样省去了单片机之间通讯,方便很多。
接收至少需要1k到2k大小的数组,
下面的问题如果关中断就会丢失
你需要去研究下Ring Buffer
当然处理速度要快,慢了的话什么办法也白搭
单片机是什么?stm32吗?50大小也不很大,可以用DMA加申请大一点的空间。可以搜一下DMA空闲中断。