資料介紹
波特率的計算STM32下的波特率和串口外設(shè)時鐘息息相關(guān),USART 1的時鐘來源于APB2,USART 2-5的時鐘來源于APB1。在STM32中,有個波特率寄存器USART_BRR,如下:STM32串口波特率通過USART_BRR進行設(shè)置,STM32的波特率寄存器支持分數(shù)設(shè)置,以提高精確度。USART_BRR的前4位用于表示小數(shù),后12位用于表示整數(shù)。但是它還不是我們想要設(shè)置的波特率,想要設(shè)置我們串口的波特率大小還需要進行計算。其實有關(guān)波特率的計算是下面這一條表達式:從上面的表達式,我們引入了一個新量USARTDIV,它表示對串口的時鐘源fck進行分頻。假設(shè)我們已知道了波特率和fck時鐘頻率的大小,那么通過上式便可以計算出USARTDIV的具體大小,然后再通過USART的值大小對波特率寄存器進行設(shè)置。USARTDIV通過上面的表達式得出,是一個帶有小數(shù)的浮點數(shù)(如27.75)。將小數(shù)部分和整數(shù)部分分開,分別得到一個整數(shù)值n(如27)和一個小數(shù)值m(如0.75)。有了這兩個值我們便可以填寫USART_BRR寄存器進而設(shè)置我們串口波特率大小了。將整數(shù)部分m(27 = 0x1B)直接寫入USART_BRR的后12位部分;將小數(shù)部分n乘以16后得到的整數(shù)值(如0.75 x 16 = 12 = 0xC)寫入USART_BRR前4位部分,最后USART_BRR的值為0x1BC。注意:如果小數(shù)部分乘以16之后仍帶有小數(shù),則要四舍五入去除小數(shù)部分得到一個新的整數(shù),再將其寫入USART_BRR的前四位。為什么在計算波特率的公式中要乘以16??我們知道串口通信是通過TXD和RXD這兩條線進行通信的,當接收器的RXD連接著發(fā)送器的TXD,接收器的TXD連接著發(fā)送器的RXD,接收器和發(fā)送器可以通過RXD和TXD互傳數(shù)據(jù)。當接收器檢測到RXD這條線的電平被拉為低電平,立即開始接收發(fā)送器發(fā)送過來的數(shù)據(jù),剛剛那個低電平只是一個告知接收器可以接收數(shù)據(jù)的起始位而已。在數(shù)據(jù)的傳輸中,信號可能受到一些干擾而產(chǎn)生一些抖動,如下圖。如果接收端只對這些信號數(shù)據(jù)采樣一次,那么它有可能采樣到的是抖動的不準的數(shù)據(jù),進而使數(shù)據(jù)傳輸不準確,所以接收端在采樣數(shù)據(jù)線上的數(shù)據(jù),通常都要采樣多次,然后通過比較獲得準確的數(shù)據(jù)。前面已經(jīng)說過,USARTDIV,它表示對串口的時鐘源fck進行分頻,而這16表示的正是1bit數(shù)據(jù)的采樣次數(shù)。為什么呢?將這個表達式的分子分母倒過來,可以得到下面這條表達式每一位的傳輸時間只有1/TX_baud,這個總時間除以16,所以每采樣一次的時間正好是T1,即新分頻后的周期。而初始的串口時鐘信號來自于APBx,APBx時鐘信號需要經(jīng)過分頻才會等于T1,所以才需要分頻USARTDIV。(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- SJA1000波特率計算
- STM32 USART自動波特率檢測
- STM32下波特率計算詳解
- 串口波特率計算詳解
- STM32下波特率計算是怎么來的?資料下載
- 波特率計算器的應(yīng)用程序免費下載 16次下載
- 單片機51波特率計算工具應(yīng)用程序免費下載 5次下載
- 51波特率初值設(shè)定計算應(yīng)用程序免費下載 4次下載
- 51波特率計算 2次下載
- 51波特率計算 1次下載
- 51波特率初值計算工具 1次下載
- 430波特率計算器 0次下載
- CAN 波特率計算器(MCP2515) 352次下載
- 串口波特率計算工具下載
- 51波特率初值計算
- UART波特率計算及UART收發(fā)回顯實驗 2.7k次閱讀
- 波特率9600和115200的區(qū)別 7.7k次閱讀
- 如何使用示波器測量串口波特率 9.6k次閱讀
- MIMXRT1060 FLEXIO UART波特率 2.8k次閱讀
- MPC5744p的CAN通信波特率如何計算 3.1k次閱讀
- MPC5744p的CAN通信波特率計算 3.5k次閱讀
- 波特率是如何工作的 3.4k次閱讀
- 關(guān)于UART/CAN/PLL時鐘計算波特率的方法 9.5k次閱讀
- 如何計算8051單片機的波特率 4.5k次閱讀
- STM32 CAN總線傳輸波特率的計算 7.6k次閱讀
- 如何計算單片機的波特率 2w次閱讀
- 詳解串行通信的波特率設(shè)置問題 2.1w次閱讀
- 串行通信的實現(xiàn)條件和波特率自動整定問題 4.5k次閱讀
- 詳解波特率發(fā)生器編程/計算/波特率選擇 5.4k次閱讀
- 波特率與比特率的關(guān)系區(qū)別 9.6k次閱讀
下載排行
本周
- 1CSMD1&TR3A 6 C00 模組-CN-V1
- 960.13 KB | 次下載 | 免費
- 2SC92F8463B/8462B/8461B技術(shù)手冊
- 1.67 MB | 次下載 | 5 積分
- 3基于單片機的額溫槍設(shè)計
- 4.82 MB | 次下載 | 10 積分
- 4AT817晶體管光耦系列
- 1.86 MB | 次下載 | 免費
- 5國產(chǎn)千兆網(wǎng)口芯片PT153S中文資料
- 1.35 MB | 次下載 | 免費
- 6壓力容器焊接手冊
- 6.47 MB | 次下載 | 2 積分
- 7FP7135V060-G1/FP7125替代物料pin to pin
- 495.40 KB | 次下載 | 免費
- 8PCD3901 -40V、1A 超低噪聲 LDO技術(shù)手冊
- 0.90 MB | 次下載 | 免費
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 7次下載 | 10 積分
- 3SDFM 激光測距模塊模組手冊
- 0.54 MB | 7次下載 | 免費
- 4SW6238V ACCC 三 PD 四口多協(xié)議移動電源 SOC規(guī)格書
- 0.59 MB | 5次下載 | 1 積分
- 5反激式開關(guān)電源設(shè)計解析
- 0.89 MB | 4次下載 | 5 積分
- 6IP6742_datasheet_100V8A 同步 BUCK 控制器
- 2.16 MB | 3次下載 | 免費
- 7SDM02 激光測距模塊產(chǎn)品手冊
- 0.43 MB | 2次下載 | 免費
- 8PAW3395DM-T6QU:光學(xué)游戲?qū)Ш叫酒謨?/a>
- 1.26 MB | 2次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論