
主机以一定的时间间隔发送询问数据包,在数据包中以一定的数据格式(通信协议)填写,通常包括:起始字符,从机地址,数据,校验字节,结束符等。 各从机处于接收状态,主机发送询问数据包后,立即转换为接收状态,各从机同时接受到主机发来的数据,分析数据包中地址是否与自己地址相同,若不同,则不予应答,仍处于接受状态,若相同,则从机发出应答数据包,(在应答数据包中,同样包含从机地址信息),主机收到应答后,根据地址信息知道这是那个从机发来的数据,处理数据后,主机再询问其它地址的从机,从机则一一应答,从机从主机发来的询问信息中得到主机给它的数据,如此,便实现了多机双向通信。
查ASCII码表,"ABCD+AT="0,1"回车符" 所对应的16进制为41、42、43、44、2B、41、54、3D、30、2C、31、0D。
将这12个数值赋值给12个数据寄存器,然后用RS指令。
RS整条指令的构成,还需看单片机对格式是如何要求的,比如说整条指令是否是由地址+功能码+数据+校验等组成的,按单片机的要求将相应的16进制数值赋值给相应的数据寄存器。
以上就是关于485通讯程序怎么写全部的内容,包括:485通讯程序怎么写、485转modbustcp后与plc通讯,程序怎么写、基于RS485总线的PC与多个单片机通信的C语言程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)