色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32單片機的串口波特率計算方法

貿澤電子設計圈 ? 來源:未知 ? 作者:佚名 ? 2018-01-05 09:59 ? 次閱讀

1. 什么是波特率

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

2. STM32波特率相關的寄存器

STM32單片機設置波特率的寄存器只有一個:USART_BRR寄存器,如下圖所示。

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

3. 波特率計算方法

STM32的數據手冊給出了計算方法,有一個公式,如下圖所示:

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

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

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

數據手冊給我們提供了一張數據表:

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

4. 程序的實現

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356591
  • 串口
    +關注

    關注

    14

    文章

    1555

    瀏覽量

    76665
  • 波特率
    +關注

    關注

    2

    文章

    307

    瀏覽量

    34201

原文標題:STM32單片機的串口通信波特率應該這樣計算~

文章出處:【微信號:Mouser-Community,微信公眾號:貿澤電子設計圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    can波特率計算

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

    STM32串口波特率大小計算案例

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

    什么是串口波特率串口波特率的分類及應用詳解

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

    STM32F4波特率計算方法

    單片機波特率寄存器配置方法,導致實際的波特率與200000相差很大,往往當誤差大于2%時就不能穩定通訊了。因此,在獲得盡量高的波特率的同時
    發表于 08-17 09:14

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

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

    串口波特率計算工具下載

    串口波特率計算工具
    發表于 03-11 09:38 ?179次下載

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

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

    51單片機串口初值和波特率計算器應用程序免費下載

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

    51單片機定時計數器的溢出計算串口波特率到底有什么關系

    本文檔的主要內容詳細介紹的是51單片機定時計數器的溢出計算串口波特率到底有什么關系。
    發表于 09-12 17:23 ?1次下載
    51<b class='flag-5'>單片機</b>定時計數器的溢出<b class='flag-5'>率</b><b class='flag-5'>計算</b>和<b class='flag-5'>串口</b><b class='flag-5'>波特率</b>到底有什么關系

    51單片機串口波特率計算方法說明

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

    如何計算8051單片機波特率

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

    串口波特率計算詳解

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

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

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

    STM32波特率計算詳解

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

    波特率的定義和計算方法 波特率與數據傳輸速度的關系

    。符號可以是數字、字母、聲音、圖像等,根據不同的符號來確定每個符號占據多長時間。 波特率計算方法 波特率計算方法通常有兩種: 基于傳輸速率和符號位數 :
    的頭像 發表于 11-22 09:49 ?2530次閱讀
    主站蜘蛛池模板: 亚洲日韩在线天堂一| 粗暴玩烂货调教| 国产人妻精品无码AV在线五十路| 特级黑人三人共一女| 国产免费播放一区二区三区| 一本道中文无码亚洲| 免费在线看视频| 国产精品久久久久久人妻香蕉| 亚洲精品天堂在线| 嫩草影院一区| 国产强奷糟蹋漂亮邻居在线观看| 永久精品免费影院在线观看网站| 男女性杂交内射妇女BBWXZ| 抽插喷S骚爽去了H| 亚洲精品乱码8久久久久久日本| 久久偷拍国2017的| 多人乱肉高hnp| 伊人久久综合成人亚洲| 日本大尺码喷液过程视频| 狠狠婷婷综合久久久久久| 777米奇影院第七色色| 少妇高潮惨叫久久久久久欧美 | 欧美疯狂做受xxxxx喷水| 国产精品女上位在线观看| 最近的2019中文字幕国语版| 三级黄色小视频| 榴莲推广APP网站入口下载安装| 国产不卡在线观看视频| 最近免费中文字幕大全免费 | 欧美特级另类xxx| 九九热在线视频精品店 | 黑人寄宿羽月希产后奶水| xxx暴力xxx| 在线观看免费毛片| 午夜性伦鲁啊鲁免费视频| 欧美日韩亚洲成人| 久久精品亚洲热综合一本奇米| 国产成人免费手机在线观看视频| 97在线超碰免费视频| 亚洲中文 字幕 国产 综合| 乳交高H糙汉宠文|