STM32之串口波特率计算

1.1 波特率结构框图


1.2 波特率寄存器示意图

1.3 波特率计算公式示意图
两图看出,串口波特率寄存器是一个32位,只用低16位,低16位又划分,低4位用来装小数,其他用来装整数。
波特率计算公式:Tx/Rx 波特率 = fCK/(8*(2- OVER8 )* USARTDIV)
USARTDIV = fCK/8*(2- OVER8 )/TxRx 波特率
Tx/Rx 波特率已知值 //就是我们我们平常说设置的115200Hz.
fCK是已知值 //串口时钟84MHz
OVER8通过CR1寄存器设置
USARTDIV的值是写入到BRR寄存器,需要计算的值。
如下列:
void Usart1_Init(u32 baudRate)//假设baudRate=115200Hz
{
float USARTDIV;
u16 Mantissa; /****设置波特率***/
//USARTDIV = fCK/8*(2- OVER8 )/TxRx 波特率
//USARTDIV= Mantissa+(Fraction/8*(2-OVER8 )) USARTDIV = (float)//baudRate;//设OVER8 =1;fck=84000000Hz
Mantissa = (int)USARTDIV;//取整数部分
Fraction = (u8)((USARTDIV-Mantissa)*);//把小数部分整成16位整数
USART1->BRR = Mantissa<< | Fraction;
}
STM32之串口波特率计算的更多相关文章
- hi3531串口波特率计算
波特率配置 通过配置寄存器UART_IBRD 和UART_FBRD 可以设置UART 工作的波特率,波特率 计算公式为: 当前波特率=UART 参考时钟频率(1/2 总线时钟频率)/(16 x 分频系 ...
- STM32 USART 波特率计算
The baud rate for the receiver and transmitter (Rx and Tx) are both set to the same value as program ...
- 【原创】STM32下波特率计算详解
波特率的计算 STM32下的波特率和串口外设时钟息息相关,USART 1的时钟来源于APB2,USART 2-5的时钟来源于APB1.在STM32中,有个波特率寄存器USART_BRR,如下: ...
- STM32使用串口1配合DMA接收不定长数据,减轻CPU载荷
STM32使用串口1配合DMA接收不定长数据,减轻CPU载荷 http://www.openedv.com/thread-63849-1-1.html 实现思路:采 用STM32F103的串口1,并配 ...
- STM32之串口DMA接收不定长数据
STM32之串口DMA接收不定长数据 引言 在使用stm32或者其他单片机的时候,会经常使用到串口通讯,那么如何有效地接收数据呢?假如这段数据是不定长的有如何高效接收呢? 同学A:数据来了就会进入串口 ...
- MSP430精准配置高速串口波特率的方法
引言 在实际项目大批量生产调试设备时,笔者发现同样版本的程序在不同设备上运行时效果不一致,一部分设备串口通信正常,另外一部分串口通信不正常.通过示波器对多个设备的串口波特率及系统时钟频率测试, ...
- 痞子衡嵌入式:在串口波特率识别实例里逐步展示i.MXRT上提升代码执行性能的十八般武艺
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是在串口波特率识别实例里逐步展示i.MXRT上提升代码执行性能的十八般武艺. 恩智浦 MCU SE 团队近期一直在加班加点赶 SBL 项目 ...
- 单片机stm32 USART串口实际应用解析
stm32作为现在嵌入式物联网单片机行业中经常要用多的技术,相信大家都有所接触,今天这篇就给大家详细的分析下有关于stm32的出口,还不是很清楚的朋友要注意看看了哦,在最后还会为大家分享有些关于stm ...
- 3、CC2541芯片中级教程-OSAL操作系统(ADC光敏电阻和修改串口波特率)
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
随机推荐
- 安卓开发实战之app之版本更新升级(DownloadManager和http下载)完整实现
转载: https://blog.csdn.net/u013278099/article/details/52692008 前言 本文将讲解app的升级与更新.一般而言用户使用App的时候升级提醒有两 ...
- DELPHI开发LINUX插件架构的程序
DELPHI开发LINUX插件架构的程序 DELPHI可以开发LINUX配置型插件架构的程序,并且这一套插件架构,同样适用于MSWINDOWS和MAC. 配置插件: 根据配置,动态加载插件:
- minicom调试4G网卡
[root@localhost toybrick]# minicom -D /dev/ttyUSB2 Welcome to minicom 2.7.1 ...
- Spring事务原理分析--手写Spring事务
一.基本概念和原理 1.Spring事务 基于AOP环绕通知和异常通知的 2.Spring事务分为编程式事务.声明事务.编程事务包括注解方式和扫包方式(xml) Spring事务底层使用编程事务(自己 ...
- 在使用PhpSpreadsheet出现空行导入的问题
在使用PhpSpreadsheet出现空行导入的问题,项目一直报错,原来是读取excel后会多读取几行,或者说读取的行数有错误.因此必须加一个,去除空行.暂时没有研究源码可能源码里面有这样的功能. ...
- 天池移动推荐算法赛--https://github.com/PnYuan/Tianchi-BigData
参考: https://blog.csdn.net/Snoopy_Yuan/article/details/75808006
- chrome 等浏览器不支持本地ajax请求,的问题
XMLHttpRequest cannot load file:///D:/WWW/angularlx/ui-router-test/template/content.html. Cross orig ...
- 一起入门Python2之python的安装及初识
鉴于论坛需要持续更新文章才能更好的保证论坛的访问量和质量,以及论坛的发展.承蒙前辈的信任和支持,我就教大家python第二课,教的不好请多担待和指正. 我们先讲python的安装方法: 方法链接:ht ...
- Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)
转自https://www.cnblogs.com/lwh-note/p/9639835.html 两种情况(场景) 情况一 代码还只在本地,未push到运程仓库,想把代码还原到上一次com ...
- linux安装Erlang
Erlang一种通用的面向并发的编程语言. 1.安装Erlang编译依赖: yum -y install gcc glibc-devel make ncurses-devel openssl-deve ...