开始用示波器查看USART串口波形(直接测量IO口),不容易搞清楚其意义,反复研究,了解一二,总结如下:
由上图看出,无信号是高电平,发送三个字节,0x09 0x02 0x00,每个字节1帧,每帧由三部份组成:
1、一个低电平起始位,不能设置,一定有。
2、八位数据,也可以设成七位,高电平是1,低电平是0,二进制数据流是反的,最左边是低位
3、停止位,0.5-2位,高电平,软件设置,一般设成1位,这里设置2位,波形好理解一些。FreeModBus代码是一个字节一个字节传送,因为速度的问题,停止位会多一些,波特率越高,停止位越多。用DMA传送时就是设置数。