STM32单片机串口通信波特率计算方法

发布者:TranquilMind88最新更新时间:2017-11-11 来源: eefocus关键字:STM32  单片机  串口通信  波特率 手机看文章 扫描二维码
随时随地手机看文章

1. 什么是波特率

不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。下面以STM32单片机为例,讲解一下串口波特率的计算方法。

2. STM32波特率相关的寄存器

STM32单片机设置波特率的寄存器只有一个:USART_BRR寄存器,如下图所示。

该寄存器的有效位数为16位,前4位用于存放小数部分,后12位用于存放整数部分。将波特率算出来后,数值填入这个波特率就可以了。下面介绍如何计算。

3. 波特率计算方法

STM32的数据手册给出了计算方法,有一个公式,如下图所示:


在这个公式上,共有三个变量,其中两个我们是知道的,Fck和Tx/Rx波特率 这两个是已知的,USARTDIV是未知的。通过该公式的描述可以看出如果使用USART1的话,那Fck就是PCLK2=72MHz,否则就是PCLK1=36MHz,Tx/Rx波特率这个参数是已知的。只需要计算出USARTDIV的值赋值给USART_BRR寄存器就可以了。以115200为例,将公式变形后得到:USARTDIV = 72×1000000/(16×115200) = 39.0625。即将39.0625写入USART_BRR即可。

前文说过,USART_BRR的前4位存放小数部分,后12位存放整数部分。

那小数部分DIV_Fraction  = 0.0625×16 = 1 = 0x01;

那整数部分DIV_Mantissa = 39 = 0x27;

那USART_BRR = 0X271;

数据手册给我们提供了一张数据表:


在这张数据表上,已经算出了常用的波特率值,我们可以拿来直接用。但是如果我们想把波特率的计算做成一个传参函数的方式,

如:USART_INIT(uint_t 16 Baud),在调用时只需要写USART_INIT(9600),USART_INIT(115200),那程序该怎么写呢?

4. 程序的实现

下面介绍的是寄存器版的程序。


程序第一步45行:先计算得到USART_DIV,这个就是前面公式的变形;

程序第二步46行:获得USART_DIV的整数部分;

程序第三步47行:获得USART_DIV的小数部分;

程序第四步48行:将整数部分左移4位,即存入BRR寄存器的后12位;

程序第五步49行:将整数和小数部分合在一起,即前4位和后12位重新组合;

程序第六步50行:将计算出来的数值赋给BRR寄存器。

这样一个将波特率作为形参的函数就完成了。从以上来看的话,波特率的计算好像也不是很难啊。


关键字:STM32  单片机  串口通信  波特率 引用地址:STM32单片机串口通信波特率计算方法

上一篇:STM32通用定时器详解
下一篇:ARM笔记:GPIO接口

推荐阅读最新更新时间:2024-03-16 15:44

stm32 实现串口中断接收浮点型、整型数据
之前已经实现了在stm32中移植printf函数和scanf函数,相信很多网友也已经熟练掌握这个技能了。最近在项目中遇到了问题,需要在串口助手中向下位机stm32写整型或者浮点型数据。这个时候只能使用串口中断接收函数。 void USART1_IRQHandler(void) { uint8_t ch; while(USART_GetITStatus(USART1, USART_IT_RXNE) == SET) { ch=USART_ReceiveData(USART1); } } 但是很快发现程序这样写过于简陋,只能接收单个字符,不符合我的要求,然后参考网上例
[单片机]
STM32笔记——外部中断的配置
一、选择对应芯片 常规操作,这里我们选择F407ZGT6 二、配置sys 选择Serial Wire 三、配置RCC 选择高速外部时钟晶振,系统自动配置相应引脚。 四、配置外部中断引脚 通过查看开发板原理图,找出按键对应引脚 五、设置外部中断引脚 1、上升沿触发(外部中断触发引脚上的电平从低电平跳转到高电平) 2、下降沿触发(外部中断触发引脚上的电平从高电平跳转到低电平) 3、上下边沿均触发 (外部中断触发引脚上有电平变化) 六、开启外部中断 七、配置中断优先级 八、配置时钟 九、生成工程 HAL库GPIO函数库讲解 1、外部中断服务函数 void HAL_GPIO_EXTI_IRQ
[单片机]
<font color='red'>STM32</font>笔记——外部中断的配置
盛群Q1获利创新高 MCU预计将超去年
微控制器(MCU)厂盛群4月30日召开法说会,今年第一季度合并营收为10.86亿元(新台币,后同),与去年同期持平,毛利率49.5%、年增2.4个百分点,归属母公司本期净利2.26亿元,获利达1.85亿元、年增22%,创下12年来同期新高,每股净利1元。盛群预期,今年第二季将进入MCU市场的传统旺季,其中无线充电、小家电及健康量测产品将成为出货主力,力道将可望优于第一季表现。 盛群表示,今年第一季受惠于无线充电产品、32位元MCU及电竞类产品为出货主力,加上人民币汇率升值等因素,带动毛利率表现相对强势。 其中,32位元MCU单季出货量达约595万套、年增率3.7倍,去年全年出货量为1,153万套,今年绝对有信心能超越去年出
[半导体设计/制造]
基于ATMAGE16单片机的直流电源屏硅链自动调压系统
目前,电力系统大量的综合自动化变电站的新建和改造,使得大量的直流电源屏在电力系统得以应用,为使系统配置合理,能更可靠、稳定的为变电站提高直流电源,确保变电设备的正常、可靠运行,其中为控制母线提供稳定直流电压的调压单元工作地位也极其重要。 调压单元:采用硅链降压的调压方式,合闸母线的调压容量按照合闸负荷的最大放电容量进行配置,控制母线的调压容量按照控制负荷的最大冲击电流进行配置。为了使系统简单、便于维护,通常采用合闸母线不使用调压单元而直接是蓄电池的端电压,同时要求硅链具有手动/自动调压转换功能,使硅链在自动调压功能出错时,转换到手动调压,也可保证硅链的正常工作,确保控制母线的可靠供电。 基于ATMAGE16单片机的直流电源屏
[单片机]
基于单片机的电池安全检测系统设计
引言   电子科技迅猛发展,作为 电池 研发和生产阶段不可或缺的环节,传统的性能测控人工依赖性高,检测效率低,网络、智能与自动化亦不能满足现实的需求。   本文所提出的已经实现并应用的解决方案能够多路同步全程实时监控电池的测试状态,先完成测试前PC端的监测配置,通过RS485接口和CAN总线实时返回继电器在线连接状态,再根据需求控制与测试项目类型相应继电器的开启。监测开始后,电池电压、电流及温度等信息实时传输到控制室的PC上,可以通过灵活在线编辑的数据曲线反映测试量的变化趋势,同时也可由记录的历史数据查看关键点的情况。    系统功能需求分析   根据现实需求,系统总体需要实现的功能有:   (1) 信号采集与控
[单片机]
基于<font color='red'>单片机</font>的电池安全检测系统设计
51单片机系列(串口理解)
串口,通信方式的一种。串口的数据发送接受单位为字节,一个字节即为8位二进制数。对一个字节进行发送时,为一位一位的发送,先低位后高位。例如十进制的9,对其发送时,首先将其转化为二进制0000 1001。然后按照从低位到高位的发送顺序为1001 0000。当我们在示波器或是在Protues仿真中可以看到单片机的I/O口波形为 第一位为0(起始位),最后一位1(结束位)。总共有十位。 当单片机进行数据发送时,I/O口会发出上述的波形(中间的八位高低电平代表数据),每发送一个数据会有一个上述的波形在I/O口中出现。 当单片机进行数据接收时,I/O口也会有一个上述的波形出现,单片机对该波形进行读取,就可以读到数据。但问题来了,单
[单片机]
串行接口键盘控制器SK5278及其在单片机系统中的应用
摘要:SK5278是一种可管理16个按键的键盘控制器,该器件内部具有去抖动处理电路,可直接输出按键的键值编码,并采用串行方式与单片机或微处理器进行接口,使用该器件可简化单片机系统软硬件的键盘接口。文中给出了该器件的特点、管脚说明和使用方法,并以AT89C2051单片机为例给出了相应的接口电路及相应程序。 关键词:键盘控制 串行接口 单片机 SK5278 对于以单片机为核心构成的智能仪器、仪表、工控设备及家用电器而言,构成人机交互的键盘接口电路是必不可少的,而相应的键盘管理软硬件设计却比较麻烦。简单的矩阵键盘存在着占用CPU软硬件资源多、响应速度慢、监控软件编制复杂等问题,专用的键盘接口器件如INTE8279、HD7219又往往
[应用]
【蓝桥杯单片机组】AT2C02 EEPROM
这个也是iic总线结构! 在此总结一下iic的程序结构 在同一个函数内读、写操作(以读eeprom为例) (1)开启总线 (2)写地址字,等待回应(写命令) (3)写要读的地址,等待回应 (4)再次开启总线 (5)写地址字,等待回应(读命令) (6)读要读的地址 (7)发出回应 (8)结束总线 放上代码: unsigned char read_eeprom(unsigned char add) { unsigned char dat; IIC_Start(); //(1)开启总线 IIC_SendByte(SlaveAddrW); //(2)写地址字,等待回应(写命令) II
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved