AN4908讲解了STM32中USART中自适应波特率的使用方法。
自适应波特率分为硬件和软件两种方法。STM32中,大部分系列都能够支持硬件自适应波特率的。
列表中没有增加新出的G0,G4等系列。查手册,G0系列是有这个功能的,就以手上的G0 NUCLEO板来测试一下。
硬件自适应波特率需要先接收一个或一组信号,来确定发送端的波特率。有四种方法:
选择用第1种方法,开始初始化硬件。
运行
需要PC端先往UART1发送一个数。数的最后一位要为1,如下,最后一位不为1时,波特率就出错了。
这样,是正确的。
测试时,波特率上到1382400时超出范围出错了。从1200-921600内都可以正确识别。
软件自适应波特率就复杂一些。
需要用到测量和计算,自已编写方法。
文件中都有祥细说明。
最后,在大多数的波特率下,硬件方法比软件方法的误差会略小一些。
|