485
2017-03-30 23:53:53 0 举报
485程序编程思路
作者其他创作
大纲/内容
03功能码
n
y
开始计时:timrun=1
关闭串口中断,485通讯换向,采用延时,发送一帧数据给主机,发送完成后485换向,打开串口中断
2.判断一帧数据是否接收完成
是否接收到一帧数据reflag=?1
接收标志位清零RI=0
主循环
是否计时开始,timrun==1
定时器中断
数据断续时间:timout++
退出中断
接收完成一帧reflag=1
变量说明recount: MODbus端口已经收到的数据个数rcbuf[12]: MODBUS接收缓冲区timout: MODbus的数据断续时间\trecount: MODbus端口已经收到的数据个数timrun: MODbus定时器是否计时的标志reflag: 收到一帧数据的标志
接收中断RI=1
结束
是否接收一帧数据完成timout=3
串口中断
接收缓存清空recount=0接收到数据的标志位清零reflag=0
06功能码
数据断续时间计算器清零:timout=0
1.数码管按键扫描
判断收到的这一帧数据的第一个字节不等于从机地址
退出485处理函数
接收完成标志置为1 : reflag=1计时停止: timrun=0
采集SBUF中的值,rcbuf=SBUFrecount++
解析这帧数据
1.接收缓存计数清零 recount=02.帧接收标致清零reflag=0
是否是一帧数据的开始位置:recount=1
数据错误
收藏
0 条评论
下一页