波特率时钟

原文链接 

 


在一个阳光明媚的中午,又来絮叨

波特率:单片机或计算机在串口通信时的速率

它是与时钟周期有关的

51的 1机器周期 = 12时钟周期

在51的方式0和方式1下,波特率公式很好计算

模式0为 Fosc / 12

      例如:外接24M晶振的单片机,他的机器周期 = 12/24M 秒

模式2为 Fosc / 32 或 Fosc / 64

  (SMOD= 1) (SMOD= 0)

模式1和模式3的波特率由定时器T1的溢出率与SMOD同时决定

      波特率 = T1溢出率 / n


定时时间 = (最大计数值 - 计数器初值)*机器周期

    = (256 - TH1) * (12 / 晶振频率)

    = ( (256 - TH1) * 12 ) / Fosc

溢出频率 = 1 / 定时时间

    = Fosc / ( (256 - TH1) * 12)

波特率 = ((2^SMOD)/32) *溢出频率,    SMOD = 0时

    = ((2^SMOD)/16) *溢出频率,    SMOD = 0时

 

以上是51的波特率与时钟的关系,下面是STM32F1xx的



Tx / Rx    波特率 = Fpclkx / (16 * USARTDIV)

其中,Fpclkx是给串口的时钟,一般我们知道波特率和时钟,即可求得USARTDIV

USARTDIV = 72000000 / (115200*16) = 39.0625

      = (pclk2 * 10^6) / (bound * 16)

 

转载于:https://www.cnblogs.com/feixiao5566/p/5390259.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值