zoukankan      html  css  js  c++  java
  • 波特率时钟

    原文链接 


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

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

    它是与时钟周期有关的

    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)

  • 相关阅读:
    udp和tcp
    以查询代替临时变量
    memcached内存管理
    设计模式适配器模式
    排序算法
    防止表单重复提交
    php的引用
    按位与,按位异或,按位取反
    git常用操作
    http
  • 原文地址:https://www.cnblogs.com/feixiao5566/p/5390259.html
Copyright © 2011-2022 走看看