stm32学习笔记--串口波特率
下面把我还能记得的东西整理一下。
1.串口的波特率是如何配置的
STM32的每个串口都有一个独立的波特率寄存器USSART-BRR,通过设置该寄存器就可以达到配置不同波特率的目的。当然关键是波特率该设置成多少的问题。因为首先我们应该知道的是为什么要配置波特率,下面是百度找到的答案
单片机串行通信波特率就是每发送两个数据的之间的间隔,或者是每秒钟发送的字节数,你在进行串行通信时,是两个单片机进行通信,那肯定是要进行同步的(波特率要相同),要不然通信没法建立
也就是说波特率是不能任意设置的,需要和芯片配合起来。我们知道波特率之后还需要把它用寄存器表示出来,这就牵涉到最初说道的计算。其中USART-BRR的最低四位用来存放小数部分,紧接着的12位用来存放整数部分,最高16位没有使用。计算公式如下
USARTDIV=PCLK2/(串口波特率*16)。这样就可以算出USARTDIV的值了,然后转换成二进制放入寄存器中就完成了对串口波特率的设置。
评论