当前位置: 技术问答>linux和unix
急!请教下关于RS485串口通信的问题。
来源: 互联网 发布时间:2017-04-01
本文导语: 本帖最后由 happyDSQ 于 2013-01-31 09:33:54 编辑 简单描述一下手头的任务吧,这个项目需要的是通过一个485串口接收来自几个不同设备(PLC等)的数据信息,已知这些设备的通信协议不相同,数据包长度也不同,如何完整...
|
有多种协议,每个协议都有协议头,协议头中包含后续长度(如modbus)
while(接收一个字节,保存到一个数组){
if(这个数组内容是一个/其中某个完整的协议头){
取出长度部分,备用.
跳出.
}else{
if(数组满了){
FIFO
}else{
继续
}
}
}
找个地方放接下来接收到的已知长度的字节.
小心相互干扰.如果几种设备的数据相互有交织,那可能就.....
while(接收一个字节,保存到一个数组){
if(这个数组内容是一个/其中某个完整的协议头){
取出长度部分,备用.
跳出.
}else{
if(数组满了){
FIFO
}else{
继续
}
}
}
找个地方放接下来接收到的已知长度的字节.
小心相互干扰.如果几种设备的数据相互有交织,那可能就.....