编程浪子的博客

碌碌无为终为过

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在使用串口的时候,串口的波特率是一个必须给定的参数。虽然书上说的很明确了,是一bit的时间。可我就是不放心,一直纳闷这个波特率到底是发送方波的频率还是发送一个字节所需要的时间。今天专门测试下,留作备案以免以后再疑惑。

实验方法:串口以各种波特率发送数据,用示波器查看并测量。

实验的硬件:STM32F4Discovery 的USART3

 

IMAG2558

实验方法:将板子上的串口初始化之后,循环发送数据:

while(1)
{
    USART_SendData(USART3,0xAA);
}

之后每测量一次改一次波特率。串口初始化的方法,可参考USART1 Init

 

各种波特率下的实测

9600

9600

14400

14400

19200

19200

38400

38400

  56000

56000

57600

57600

115200

115200

128000

128000

256000

256000

 

512000

512000

1024000

1024000

2048000出错

2048000出错

 

总结:

波特率是脉冲频率的二倍。一个波形一秒钟发送的次数是多少波特率就是多少。比如波特率是9600时候,测得的脉冲宽度是104.2us,波形频率是4.8k。

看完这么多图,在看看理论知识:

延伸阅读:http://baike.baidu.com/link?url=wBg0ne51sJ08Aityf-aNQn0YTCnUfM-nuJw-9KNkw4icyCV2f2GRBk49xTgi07PC

说的还真对。

posted on 2013-10-13 20:15  编程浪子_  阅读(43027)  评论(2编辑  收藏  举报