单片机modbus一般用的串口。有两种modbus报文格式,ASCII和RTU。
如果是ASCII格式,接收到 : 号就是起始符号。
如果是RTU格式,空闲状态接收到第一个数据即为开始,3.5个字符间隔时间内接收不到数据视为结束。
通过超时检测机制判断一帧,超时时间可以在modbus接收函数里设置,一般最大设置1秒,他长会影响其他通讯效率
如果当接收到1个字节后1秒没有数据过来就判定一帧结束