你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32串口波特率计算问题和常用波特率

[复制链接]
STMCU小助手 发布时间:2022-4-20 20:38
一、分数波特率的产生0 n* C: X# e9 x! ^6 X
一、接收器和发送器的波特率在USARTDIV的整数和小数寄存器中的值应设置成相同。 =. H8 O2 g5 o3 D# C- r" N8 _7 G
2021033018590354.jpg * o; v; J! n5 X/ Y9 }9 a

1 j) j- R* H* ^; k2 c这里的fck是给外设的时钟(PCLK1用于USART2、 3、 4、 5, PCLK2用于USART1)USARTDIV是一个无符号的定点数。这12位的值设置在USART_BRR寄存器。8 N, M4 N; q! S  h/ o8 |4 E  l
注: 在写入USART_BRR之后,波特率计数器会被波特率寄存器的新值替换。因此,不要在通信进行中改变波特率寄存器的数值。如何从USART_BRR寄存器值得到USARTDIV$ w5 J8 v/ o! @, v8 y
例1:
% m# D) B. x7 l, o5 {( U# C   如果 DIV_Mantissa = 27 , DIV_Fraction = 12 (USART_BRR=0x1BC),通用同步异步收发器(USART)于是:
+ L5 b, x: A$ ]3 ?   Mantissa (USARTDIV) = 27
! R8 D' a" q" _, r+ q+ Z. [   Fraction (USARTDIV) = 12/16 = 0.75
+ Z2 [. t7 J& H9 w$ ]5 i   所以 USARTDIV = 27.75
  r* A* @8 h( w6 y9 T例2:
9 O: X/ ~  I9 ~, D+ Y. e4 v& M   要求 USARTDIV = 25.62,5 i4 P+ }) Y& r: f
   就有:9 J, Q& z! J/ i+ U3 z- m! R6 r4 d9 d0 A
   DIV_Fraction = 160.62 = 9.92: V: p$ P& o2 _; D: [( `6 Q8 h- I7 a
   最接近的整数是: 10 = 0x0A: G6 e. q/ Q1 [6 s) }5 p
   DIV_Mantissa = mantissa (25.620) = 25 = 0x19
. I; |0 K3 ^0 @- O" e   于是, USART_BRR = 0x19A
3 q1 ~4 g5 _9 I9 {例3:
6 r! `; n/ v8 B2 z5 S* l" @   要求 USARTDIV = 50.99
2 B! s: O5 q$ o* `9 C   就有:4 k9 \8 ^& z) s& L- A9 u
   DIV_Fraction = 160.99 = 15.84
: \: R/ x% i2 _7 E4 M0 X5 ]   最接近的整数是: 16 = 0x10 => DIV_frac[3:0]溢出 => 进位必须加到小数部分DIV_Mantissa = mantissa (50.990 + 进位) = 51 = 0x33
( k% [) w- d3 z$ q6 g, q   于是: USART_BRR = 0x330, USARTDIV=516 _& x* i- R. ^5 T. _
+ d' V5 f, d: x. w9 g% g4 r9 V
二、设置波特率时的误差计算. V! ?3 `) T7 c& G
9 E! j! u6 ]9 O. b/ |- `! L1 `2 Q6 `
20210330190415177.jpg 2 f  {, C1 m1 m* K# G" d% K8 j

& Z6 T4 {. u5 ?- ^; H' `注: 1. CPU的时钟频率越低,则某一特定波特率的误差也越低。可以达到的波特率上限可以由这组数据得到。9 V5 k; Z1 X. G& j. ]( T6 O
2. 只有USART1使用PCLK2(最高72MHz)。其它USART使用PCLK1(最高36MHz)。
$ R8 \! `! `! Z8 ^) K
4 x; t  _+ {5 {/ L: ~6 D/ s8 f* P$ m( j, |( K& g& B0 |
) l+ d! s9 Y! h- {, S( u
: @/ n  K3 E% y8 e% J1 S8 m& z2 w
5 M7 ^8 N+ ~8 P% p
赞 收藏 评论0 发布时间:2022-4-20 20:38

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版