字符0x0,0xFF循环的波形,有点标识的是有效数据采样点,在起始位和停止位均不标识。
定时信息:从起始位低电平起,连续8个高电平,然后一个停止位高电平。完成后开始下一个循环。
连续的数据波形:0xFF,0x00,....,0x80的波形。可以看出,如果要发送0b0000 0001, 按时间顺序则是,低(起始位),高(1),低(0),低(0),低(0),低(0),低(0),低(0),低(0)。但是后面的7个连续的低电平连接在一起,就形成了一个较长低电平。
从 0xFF, 0x00 ~ 0x04的波形,可以看出,先发送低位,然后是高位。 从0x04-0x80的波形 每个字符的发送时间为87.9us。 停止位长度9.042us,起始位长度也是9.042us。 单个高电平宽度8.75us。 中间插入延时1.029ms的延时循环。 以下是对波特率的理解:
波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示,其单位是波特(Baud)。
当波特率变化时,单个位的周期发生变化测试如下:
2400:t=1/2400(s)=0.4167ms
9600:t=1/9600=0.1041ms
38400:
57600:
通过以上的波形可以看出,只要准确的设置定时中断的时间,就可以准确的模拟UART数据的通讯过程。
|