在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32單片機(jī)的串口波特率計(jì)算方法

貿(mào)澤電子設(shè)計(jì)圈 ? 來源:未知 ? 作者:佚名 ? 2018-01-05 09:59 ? 次閱讀

1. 什么是波特率

不管是什么單片機(jī),在使用串口通信的時(shí)候,有一個(gè)非常重要的參數(shù):波特率。什么是波特率:波特率就是每秒傳送的字節(jié)數(shù)。雙方在傳輸數(shù)據(jù)的過程中,波特率一致,這是通訊成功的基本保障。下面以STM32單片機(jī)為例,講解一下串口波特率的計(jì)算方法。

2. STM32波特率相關(guān)的寄存器

STM32單片機(jī)設(shè)置波特率的寄存器只有一個(gè):USART_BRR寄存器,如下圖所示。

該寄存器的有效位數(shù)為16位,前4位用于存放小數(shù)部分,后12位用于存放整數(shù)部分。將波特率算出來后,數(shù)值填入這個(gè)波特率就可以了。下面介紹如何計(jì)算。

3. 波特率計(jì)算方法

STM32的數(shù)據(jù)手冊給出了計(jì)算方法,有一個(gè)公式,如下圖所示:

在這個(gè)公式上,共有三個(gè)變量,其中兩個(gè)我們是知道的,F(xiàn)ck和Tx/Rx波特率 這兩個(gè)是已知的,USARTDIV是未知的。通過該公式的描述可以看出如果使用USART1的話,那Fck就是PCLK2=72MHz,否則就是PCLK1=36MHz,Tx/Rx波特率這個(gè)參數(shù)是已知的。只需要計(jì)算出USARTDIV的值賦值給USART_BRR寄存器就可以了。以115200為例,將公式變形后得到:USARTDIV = 72×1000000/(16×115200) = 39.0625。即將39.0625寫入U(xiǎn)SART_BRR即可。

前文說過,USART_BRR的前4位存放小數(shù)部分,后12位存放整數(shù)部分。

那小數(shù)部分DIV_Fraction = 0.0625×16 = 1 = 0x01;那整數(shù)部分DIV_Mantissa = 39 = 0x27;那USART_BRR = 0X271;

數(shù)據(jù)手冊給我們提供了一張數(shù)據(jù)表:

在這張數(shù)據(jù)表上,已經(jīng)算出了常用的波特率值,我們可以拿來直接用。但是如果我們想把波特率的計(jì)算做成一個(gè)傳參函數(shù)的方式,如:USART_INIT(uint_t 16 Baud),在調(diào)用時(shí)只需要寫USART_INIT(9600),USART_INIT(115200),那程序該怎么寫呢?

4. 程序的實(shí)現(xiàn)

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

程序第一步45行:先計(jì)算得到USART_DIV,這個(gè)就是前面公式的變形;程序第二步46行:獲得USART_DIV的整數(shù)部分;程序第三步47行:獲得USART_DIV的小數(shù)部分;程序第四步48行:將整數(shù)部分左移4位,即存入BRR寄存器的后12位;程序第五步49行:將整數(shù)和小數(shù)部分合在一起,即前4位和后12位重新組合;程序第六步50行:將計(jì)算出來的數(shù)值賦給BRR寄存器。

這樣一個(gè)將波特率作為形參的函數(shù)就完成了。從以上來看的話,波特率的計(jì)算好像也不是很難啊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2283

    文章

    10986

    瀏覽量

    361253
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1580

    瀏覽量

    78330
  • 波特率
    +關(guān)注

    關(guān)注

    2

    文章

    310

    瀏覽量

    34620

原文標(biāo)題:STM32單片機(jī)的串口通信波特率應(yīng)該這樣計(jì)算~

文章出處:【微信號:Mouser-Community,微信公眾號:貿(mào)澤電子設(shè)計(jì)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    can波特率計(jì)算

    can波特率其實(shí)并不難計(jì)算,這里給出了can波特率的簡單計(jì)算,并給出了實(shí)例STM32的CAN波特率
    發(fā)表于 12-14 17:02 ?1.3w次閱讀
    can<b class='flag-5'>波特率</b><b class='flag-5'>計(jì)算</b>

    STM32串口波特率大小計(jì)算案例

    波特率計(jì)算 STM32下的波特率串口外設(shè)時(shí)鐘息息相關(guān),USART 1的時(shí)鐘來源于APB2,USART 2-5的時(shí)鐘來源于APB1。在
    的頭像 發(fā)表于 10-23 14:19 ?8674次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>串口</b><b class='flag-5'>波特率</b>大小<b class='flag-5'>計(jì)算</b>案例

    什么是串口波特率串口波特率的分類及應(yīng)用詳解

    什么是串口波特率串口波特率是指串口通信系統(tǒng)中傳輸數(shù)據(jù)的速率。在UART串口通信中,數(shù)據(jù)以位(bi
    的頭像 發(fā)表于 08-08 10:09 ?6610次閱讀
    什么是<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>?<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>的分類及應(yīng)用詳解

    STM32F4波特率計(jì)算方法

    單片機(jī)波特率寄存器配置方法,導(dǎo)致實(shí)際的波特率與200000相差很大,往往當(dāng)誤差大于2%時(shí)就不能穩(wěn)定通訊了。因此,在獲得盡量高的波特率的同時(shí)
    發(fā)表于 08-17 09:14

    STM32F4的高波特率與低誤差的計(jì)算方法是什么

    怎樣去計(jì)算STM32F4的波特率呢?STM32F4的高波特率與低誤差的計(jì)算方法是什么?
    發(fā)表于 11-19 06:14

    串口波特率計(jì)算工具下載

    串口波特率計(jì)算工具
    發(fā)表于 03-11 09:38 ?179次下載

    單片機(jī)與PC機(jī)串行通信中波特率的確定

    本文詳細(xì)論述了單片機(jī)與PC機(jī)串行通信中波特率的確定原則和方法,特別給出了PC機(jī)單片機(jī)串行通信中
    發(fā)表于 08-01 17:29 ?1985次閱讀

    51單片機(jī)串口初值和波特率計(jì)算器應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)串口初值和波特率計(jì)算器應(yīng)用程序免費(fèi)下載。
    發(fā)表于 10-15 08:00 ?10次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>串口</b>初值和<b class='flag-5'>波特率</b><b class='flag-5'>計(jì)算</b>器應(yīng)用程序免費(fèi)下載

    51單片機(jī)定時(shí)計(jì)數(shù)器的溢出計(jì)算串口波特率到底有什么關(guān)系

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)定時(shí)計(jì)數(shù)器的溢出計(jì)算串口波特率到底有什么關(guān)系。
    發(fā)表于 09-12 17:23 ?3次下載
    51<b class='flag-5'>單片機(jī)</b>定時(shí)計(jì)數(shù)器的溢出<b class='flag-5'>率</b><b class='flag-5'>計(jì)算</b>和<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>到底有什么關(guān)系

    51單片機(jī)串口波特率計(jì)算方法說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)串口波特率計(jì)算方法說明。對于11.0592M晶振 bot=256-(11059200/9600/32) 此處
    發(fā)表于 07-11 17:40 ?4次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>串口</b><b class='flag-5'>波特率</b>的<b class='flag-5'>計(jì)算方法</b>說明

    如何計(jì)算8051單片機(jī)波特率

    8051單片機(jī)使用定時(shí)器1工作在方式2的情況下作為串口波特率發(fā)生器,其波特率=(2smod/32)×(定時(shí)器T1溢出),其中smod是PC
    發(fā)表于 11-18 16:39 ?4181次閱讀

    串口波特率計(jì)算詳解

    STM32波特率計(jì)算詳解波特率計(jì)算????STM32下的
    發(fā)表于 12-05 09:06 ?22次下載
    <b class='flag-5'>串口</b><b class='flag-5'>波特率</b><b class='flag-5'>計(jì)算</b>詳解

    STM32 USB虛擬串口波特率問題(含源碼)

    ,需要將單片機(jī)真實(shí)串口(這里以USART1為例)的收發(fā)數(shù)據(jù)與USB口進(jìn)行交互。用過USB虛擬串口的朋友可能知道,要實(shí)現(xiàn)該功能,還存在以下問題:1.電腦上設(shè)置的串口
    發(fā)表于 12-28 19:51 ?21次下載
    <b class='flag-5'>STM32</b> USB虛擬<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>問題(含源碼)

    STM32波特率計(jì)算詳解

    波特率計(jì)算 STM32下的波特率串口外設(shè)時(shí)鐘息息相關(guān),USART 1的時(shí)鐘來源于APB2,USART 2-5的時(shí)鐘來源于APB1。在
    發(fā)表于 02-11 10:46 ?20次下載
    <b class='flag-5'>STM32</b>下<b class='flag-5'>波特率</b><b class='flag-5'>計(jì)算</b>詳解

    波特率的定義和計(jì)算方法 波特率與數(shù)據(jù)傳輸速度的關(guān)系

    。符號可以是數(shù)字、字母、聲音、圖像等,根據(jù)不同的符號來確定每個(gè)符號占據(jù)多長時(shí)間。 波特率計(jì)算方法 波特率計(jì)算方法通常有兩種: 基于傳輸速率和符號位數(shù) :
    的頭像 發(fā)表于 11-22 09:49 ?7400次閱讀
    主站蜘蛛池模板: 调教双性学霸美人 | 免费国产h视频在线观看 | 亚洲日本一区二区三区 | 毛片其地 | 日本www网站 | 欧美人与zoxxxx | 国产高清a| 特级aaaaaaaaa毛片免费视频 | 国产亚洲视频在线播放大全 | 99精品热视频 | 成人欧美一区二区三区白人 | 五月婷婷俺也去开心 | 亚洲三级在线看 | 日本黄色小视频 | 天天插天天爽 | 日本不卡在线视频高清免费 | 一级做a爰片久久免费 | 久久噜国产精品拍拍拍拍 | 色欧美亚洲 | 韩国三级理论在线看中文字幕 | 高清一区二区三区四区五区 | 亚洲视频一 | 香蕉视频国产在线观看 | 欧美性色xo影院永久禁欲 | 偷偷久久 | 天天色图 | 午夜视频在线 | 正在播放国产乱子伦视频 | 97久久人人 | 欧美成人午夜不卡在线视频 | 四虎影视最新网址 | 久久99国产精品免费观看 | 中文字幕一区二区三区在线不卡 | 在线观看免费视频资源 | 四虎最新地址 | 性欧美xx| 麒麟色欧美影院在线播放 | 中文字幕在线观看第一页 | 日本免费不卡视频 | 伊人久久大香线蕉综合爱婷婷 | 亚洲五月综合网色九月色 |