关于示波器测波特率的方法

转载于:https://blog.csdn.net/lianxue1986/article/details/50385384

下面说一下示波器测波特率的方法步骤:

显示高低跳变的情况:

1.先把示波器表笔的地线(夹子)夹485B,表笔夹485A。

2.往串口发送数据:如发送0x55或0xAA(因为这两个值都是0和1相间的,容易看波形占用的时间值),本例是发送的0xAA。

3.打开示波器(我用的是Agilent MSO6104A型号)电源开关,旋转下图中红色框标出来的按钮,并注意看着屏幕上方的时间格,一般将时间旋转到100ms-300ms之间,这个时间是用来抓去波形的,这是调节的横坐标轴。然后旋转黑色框框中的两个按钮,这两个按钮是用来调整纵坐标轴的,旋转坐标线到合适的位置。


4. 调好坐标后,会看到屏幕上有信号划过,如下图:每个格子代表的是100ms,如红色框框中标出的。然后按软键盘上的“Run/Stop”键,这个按键会变成红色,并且屏幕不再划动,而是停止,这就是抓到的波形,形状也如下图。需要调整时间格才能将每个位显示出来。


5.旋转第一副途中红色框框标出的按钮(Menu/Zoom左边的按钮),逆时针旋转,如果旋转的看不到波形了,就再旋转(Menu/Zoom右边边的按钮),这个按钮是平移时间轴的,直至调整到能看清每个跳变的位,如上图,调整到500us每个格子,可以看到一帧数据的波形,如果要计算具体的波特率,可以调整时间轴,让波形显示的更清除一些,如下图,大概每个bit位占了一个格子多一点,大概是105us/bit。这样计算下来,波特率就是1000000/105=9524bit/s,这样就计算出来波特率,这样算出来的波特率有一定的误差,但误差是在可接收范围之内的,这个就相当于9600的波特率。



其实对于串口波特率到底正确不正确,还有个行业共识就是:

如果要测试串口是不是9600的波特率,直接连接上电脑,用串口助手接受数据,电脑串口助手波特兰设置为9600,然后和你们的设备连上,如果电脑的串口助手能接受到数据那就没问题。

另外,波特率的误差范围理论值在2.5%之内是不会发生传输错误的问题的。也就是如果我们的产品波特率是9100的话,远超过2.5%的误差,电脑接收也会有问题。

另外,485线上是没有电平的,起始时由高变低,结束时由低变高 ,如果表笔不是按照上面的接线法,假如表笔接485A,夹子接电源地线的话,波形就是如下图这样的,没有高低跳变。这样也是正常的,默认就是高电平,0就变成低电平:下图是发送0x01的波形图

你可能感兴趣的:(嵌入式,STM32)