干貨! STM32串口波特率計(jì)算

        波特率計(jì)算STM32下的波特率與串行端口外設(shè)時(shí)鐘密切相關(guān)。

        USART 1的時(shí)鐘源自APB2,USART 2-5的時(shí)鐘源自APB1。

        在STM32中,有一個(gè)波特率寄存器USART_BRR,如下所示:STM32串行端口波特率由USART_BRR設(shè)置,STM32波特率寄存器支持小數(shù)設(shè)置以提高精度。

        USART_BRR的前4位數(shù)字代表小數(shù),后12位數(shù)字代表整數(shù)。

        但這不是我們要設(shè)置的波特率,我們需要計(jì)算串行端口的波特率。

        實(shí)際上,波特率的計(jì)算公式如下:從上面的表達(dá)式中,我們引入了一個(gè)新的量USARTDIV,它表示串行時(shí)鐘源fck的分頻。

        假設(shè)我們已經(jīng)知道波特率和fck時(shí)鐘頻率的大小,則可以通過上式計(jì)算USARTDIV的具體大小,然后可以通過USART的值設(shè)置波特率寄存器。

        USARTDIV是通過上面的表達(dá)式獲得的,它是一個(gè)帶小數(shù)的浮點(diǎn)數(shù)(例如27.75)。

        將小數(shù)部分與整數(shù)部分分開,得到整數(shù)值n(例如27)和十進(jìn)制值m(例如0.75)。

        使用這兩個(gè)值,我們可以填寫USART_BRR寄存器并設(shè)置串行端口的波特率。

        將整數(shù)部分m(27 = 0x1B)直接寫入U(xiǎn)SART_BRR的最后12位數(shù)字;將小數(shù)部分n乘以16得到的整數(shù)值(例如0.75 x 16 = 12 = 0xC)被寫入U(xiǎn)SART_BRR的前4位,最后USART_BRR的值為0x1BC。

        注意:如果小數(shù)部分乘以16并且仍然有小數(shù),則需要四舍五入并除去小數(shù)部分以獲得新的整數(shù),然后將其寫入U(xiǎn)SART_BRR的前四位。

        為什么在計(jì)算波特率的公式中乘以16。

        我們知道串行通信是通過兩條線路TXD和RXD進(jìn)行通信的。

        當(dāng)接收器的RXD連接到發(fā)送器的TXD時(shí),接收器的TXD連接到發(fā)送器。

        使用RXD,接收器和發(fā)送器可以通過RXD和TXD相互傳輸數(shù)據(jù)。

        當(dāng)接收器檢測(cè)到RXD線的電平被拉至低電平時(shí),它立即開始接收由發(fā)送器發(fā)送的數(shù)據(jù)。

        剛才的低電平只是通知接收器它可以接收數(shù)據(jù)的開始位。

        如下圖所示,在數(shù)據(jù)傳輸中,信號(hào)可能會(huì)受到一些干擾并引起抖動(dòng)。

        如果接收端僅對(duì)這些信號(hào)數(shù)據(jù)采樣一次,則可能會(huì)采樣抖動(dòng)和不準(zhǔn)確的數(shù)據(jù),這將使數(shù)據(jù)傳輸不準(zhǔn)確。

        因此,通常需要對(duì)接收端的采樣數(shù)據(jù)線上的數(shù)據(jù)進(jìn)行多次采樣。

        ,然后通過比較獲得準(zhǔn)確的數(shù)據(jù)。

        如前所述,USARTDIV意味著對(duì)串行端口的時(shí)鐘源fck的頻率進(jìn)行分頻,而這16則恰好意味著1bit數(shù)據(jù)的采樣數(shù)。

        為什么?反轉(zhuǎn)該表達(dá)式的分子和分母,可以得出以下表達(dá)式的每一位的傳輸時(shí)間僅為1 / TX_baud。

        該總時(shí)間除以16,因此每個(gè)采樣的時(shí)間正好是T1,即經(jīng)過新的分頻后的周期。

        初始串行端口時(shí)鐘信號(hào)來自APBx,因此需要將APBx時(shí)鐘信號(hào)劃分為等于T1的頻率,因此有必要?jiǎng)澐諹SARTDIV的頻率。

        *本文在線轉(zhuǎn)載,版權(quán)歸原作者所有。

        如果有任何侵權(quán),請(qǐng)聯(lián)系以將其刪除。

        免責(zé)聲明:本文的內(nèi)容是在21ic授權(quán)后發(fā)布的。

        版權(quán)屬于原始作者。

        該平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

        本文僅代表作者的個(gè)人觀點(diǎn),并不代表該平臺(tái)的立場(chǎng)。

        如有任何疑問,請(qǐng)與我們聯(lián)系,謝謝!

        產(chǎn)品知識(shí)/行業(yè)、品牌資訊

        行業(yè)、品牌資訊


        主站蜘蛛池模板: 风间由美性色一区二区三区 | 国产高清在线精品一区| 亚洲一区中文字幕在线电影网 | 国产在线精品一区二区三区不卡| 色婷婷一区二区三区四区成人网 | 少妇无码一区二区三区免费| 日本在线观看一区二区三区| 国产精品无码一区二区在线观| 国产福利一区二区在线视频 | 无码精品一区二区三区在线| 日韩一区二区在线观看| 中文乱码字幕高清一区二区| 亚洲美女视频一区二区三区| 秋霞午夜一区二区| 国产综合一区二区| 久久久无码精品国产一区| 中文字幕一区二区三区免费视频| 精品女同一区二区| 亚洲人AV永久一区二区三区久久| 狠狠爱无码一区二区三区| 八戒久久精品一区二区三区| 国产精品一区二区三区久久| 精品免费国产一区二区三区| 国模精品一区二区三区视频| 国产乱码精品一区二区三区 | 精品久久综合一区二区| 蜜芽亚洲av无码一区二区三区 | 亚洲国产韩国一区二区| 日产精品久久久一区二区| 久久久久人妻一区二区三区| 亚洲中文字幕一区精品自拍| 竹菊影视欧美日韩一区二区三区四区五区| 久久青草国产精品一区| 无码人妻一区二区三区免费看| 亚洲AV美女一区二区三区| 日韩精品一区二区三区老鸭窝 | 国产在线精品一区二区高清不卡| 亚洲色精品vr一区二区三区 | 国产精品污WWW一区二区三区| 国产免费播放一区二区| 国产一区二区三区免费|