如何确认它的波特率呢?
波特率有常用的配置9600、115200、230400、921600等,盲扫一遍就可以试出来。盲扫时需要观察接收到的数据及数据量。直接切换这几种波特率,观察窗口一次接收到的字节数,或者观察解析出来的数据。当波特率设低时,接收到的数据量是少的,需要加大波特率,反之减小。
示波器接TXD,测量最小长度波形时间(对应1bit长度),再转换成波特率,转换公式:
P
a
u
d
=
1
T
Paud\text{=}\frac{1}{T}
Paud=T1,
P
a
u
d
Paud
Paud表示串口波特率,
T
T
T表示1bit对应的时长。
图1里1bit时长是T=1.08us,表示传输一位的时间是1.08us,转换成波特率(每秒传送的比特数)
P
a
u
d
=
1
T
=
1
1.08
e
−
6
s
≈
925,925.925
Paud\text{=}\frac{1}{T}=\frac{1}{1.08{{e}^{-6}}s}\approx \text{925,925}\text{.925}
Paud=T1=1.08e−6s1≈925,925.925,考虑到时钟和测试误差,其附近的921600波特率就是该波形的真实波特率。
图1 示波器抓取的921600波特率的串口TXD波形
同理使用逻辑分析仪测量1bit的时间是1us(采样率低导致精度不够),也可以用来估计波特率。
图2 逻辑分析仪抓取的921600波特率的串口TXD波形