四十五,单片机连接云程序讲解

1,程序结构

2,usart3程序

2.1,if(USART3_RX_STA<USART3_REC_LEN)//还可以接收数据,判断目前接收的数据数量是否大于临时缓存空间的最大值,

2.2如果大于

USART3_RX_STA|=0x8000;//强制标记接收完成

则强制完成接收,后面的数据忽略

2.3如果小于

先清空定时器的计数值,然后判断串口3的接收标志位位0时,打开定时器开始计时.

2.4然后将最新接收的数据存入数组中.

2.5 串口接收引入定时器是个很巧妙的设计,发现串口接收中断,然后定时一段时间,定时器时间到了,溢出中断直接把串口的接收标志置为完成.

3,定时器配置

4, 定时器tim程序

然后主程序里把串口标志置0,

5,MQTT发送函数transport文件

把MQTT的发送与接收与串口3的发送与接收绑定在一起,进行解码处理.

6,esp8266文件是连接路由器和TCP的,用于联网

发送命令后esp8266模块会回复数据,模块通讯都是类似的,就是类容不一样

7,主函数

7.1先定义需要的变量

7.2连接云平台

7.3主循环里保持设备在线的心跳包,10秒左右发一次,20次不成功就重新配网

 

7.4 主循环里接收消息的处理