您的位置 首页 新能源

stm32学习笔记–串口波特率

这几天的学习有什么问题呢?开始看前几个例程的时候貌似还找到些感觉,学了些东西,比如串口需要配置的波特率是如何计算的,如何通过位段位

这几天的学习有什么问题呢?开端看前几个例程的时分形似还找到些感觉,学了些东西,比方串口需求装备的波特率是怎么核算的,怎么经过位段位带别号区的规划完成对I/O口单个位的寻址操作,端口形式怎么设置,spi与iic之间各自的优势和下风,上个周稀里糊涂看了那么多,现在一想就剩余这些了,然后是这个周,这个周的感觉是愈加的不厚实,许多东西都是蜻蜓点水,看了就忘,比方中止操控,直到看了第二遍才构成结构,看门狗DMA游戏手柄红外通讯的各个试验,好吧,这些东西我只是知道是怎么回事,对他们的了解乃至不如上个周的模块,至少还有个结构,到了这儿,只剩余“哦,这个,我知道……”就没了,对!就没了。所以接下来要去改程序,不论改什么程序,当然最好是直接拿三轴加速度计的程序去改,随意改,改了之后在板子上能看到作用,去做这种事儿,假如这个模块没什么好改的就去改其他,反正要着手去改,不能只这样看了,好吧,明日开端试试。

下面把我还能记住的东西收拾一下。
1.串口的波特率是怎么装备的
STM32的每个串口都有一个独立的波特率寄存器USSART-BRR,经过设置该寄存器就可以到达装备不同波特率的意图。当然关键是波特率该设置成多少的问题。由于首要咱们应该知道的是为什么要装备波特率,下面是百度找到的答案
单片机串行通讯波特率便是每发送两个数据的之间的距离,或者是每秒钟发送的字节数,你在进行串行通讯时,是两个单片机进行通讯,那肯定是要进行同步的(波特率要相同),要不然通讯无法树立
也便是说波特率是不能恣意设置的,需求和芯片配合起来。咱们知道波特率之后还需求把它用寄存器表示出来,这就牵涉到开始说道的核算。其间USART-BRR的最低四位用来寄存小数部分,紧接着的12位用来寄存整数部分,最高16位没有运用。核算公式如下
USARTDIV=PCLK2/(串口波特率*16)。这样就可以算出USARTDIV的值了,然后转换成二进制放入寄存器中就完成了对串口波特率的设置。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/257471.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部