如何在VS2010中调用MScomm控件实现上位机与下位机的通讯 同时对所接受的数据进行处理 5
展开全部
如果是一个单片机具有多个串口,那么中断和地址是不同的,通信程序中更改下地址和中断就好了.
如果单片机只有一个串口,那就要更改硬件电路了,串口是1对1的,不支持1对多.
422和485可以支持1对多.
给每一个下位机编写一个不同的地址码,放入一个寄存器中,每次上传给上位机数据的时候,把地址码包含在数据包中,收到有效数据后,就可以根据地址码确认了,相当于身份ID.
如果不想在程序中修改,也可以通过拨码开关,在外部拨到地址位,每次上电后,通过读取拨码开关的值来确定自己的身份ID.
上位机向下位机发送数据的时候,如果是向单个发送的,就在数据包增加要发送下位机的地址码,如果是要向全部发送,就把地址码设为一特殊值,当作广播下发.
这个要在上下位机通讯协议中明确出来.
如果单片机只有一个串口,那就要更改硬件电路了,串口是1对1的,不支持1对多.
422和485可以支持1对多.
给每一个下位机编写一个不同的地址码,放入一个寄存器中,每次上传给上位机数据的时候,把地址码包含在数据包中,收到有效数据后,就可以根据地址码确认了,相当于身份ID.
如果不想在程序中修改,也可以通过拨码开关,在外部拨到地址位,每次上电后,通过读取拨码开关的值来确定自己的身份ID.
上位机向下位机发送数据的时候,如果是向单个发送的,就在数据包增加要发送下位机的地址码,如果是要向全部发送,就把地址码设为一特殊值,当作广播下发.
这个要在上下位机通讯协议中明确出来.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询