91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

關(guān)于USART波特率 TIM的外設(shè)預(yù)分頻值

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用、參考STM32標(biāo)準(zhǔn)外設(shè)庫(kù),寄存器開發(fā)的朋友也需要注意一些細(xì)節(jié)問(wèn)題。

1USART串口預(yù)分頻

許多朋友用寄存器開發(fā),就需要對(duì)寄存器中每一位十分熟悉才行。

但是在STM32中外設(shè)的寄存器很多,不像51這類單片機(jī),就那么為數(shù)不多的寄存器,而且寄存器也能很容易理解。

有朋友其實(shí)已經(jīng)發(fā)現(xiàn),UART波特率設(shè)置太高,或太低就不能實(shí)現(xiàn)了。看下圖波特率計(jì)算公式:

從上圖可以看得出,波特率與fCK和USARTDIV。其中USARTDIV是一個(gè)無(wú)符號(hào)的定點(diǎn)數(shù),這12位的值設(shè)置在USART_BRR寄存器。

結(jié)合上面圖文,大家應(yīng)該可以知道,波特率也是有一個(gè)范圍的,而且波特率是存在誤差的。

舉一個(gè)例子:fCK = 36M,波特率 = 100,那么計(jì)算出USARTDIV = 36M / 1600 =22500.

然而,12位的數(shù)最大為4095,所以,越界了。

寫這些其實(shí)希望不管你使用寄存器,還是庫(kù)開發(fā),其實(shí)都需要了解這些,避免入坑。

2

TIM定時(shí)器預(yù)分頻

前面有朋友問(wèn)了我關(guān)于TIM定時(shí)器的問(wèn)題,說(shuō)自己參考STM32標(biāo)準(zhǔn)外設(shè)庫(kù),配置定時(shí)器,但是定時(shí)卻不準(zhǔn)確。

經(jīng)過(guò)交談,他把配置代碼截圖給我看了。我一看,就看出問(wèn)題出在預(yù)分頻值上。

而這位朋友是使用STM32F407,主頻168M,他想讓定時(shí)器每秒計(jì)數(shù)1000個(gè),就是上面“SystemCoreClock / 1000”。

然而,他卻沒(méi)有考慮溢出問(wèn)題:168M / 1000 = 168K,PrescalerValue最大值為65535.

另一個(gè)關(guān)于APB1、APB2時(shí)鐘問(wèn)題

有朋友發(fā)現(xiàn)自己配置的定時(shí)會(huì)相差一倍,其實(shí)原因也是在于預(yù)分頻值不對(duì)造成的。

讓大家看一下下圖兩個(gè)預(yù)分頻宏定義:

原因在于:有的TIM定時(shí)器時(shí)鐘是APB1,有的是APB2。這兩個(gè)時(shí)鐘一般默認(rèn)配置是相差一倍,所以定時(shí)也就會(huì)相差一倍。

關(guān)于TIM使用的APB時(shí)鐘差異,大家可以通過(guò)查看“參考手冊(cè)”RCC章節(jié),或結(jié)合STM32Cube工具理解。

定時(shí)器RCC時(shí)鐘:

定時(shí)器Cbue時(shí)鐘配置:

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

    關(guān)注

    2309

    文章

    11162

    瀏覽量

    373426
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3368

    瀏覽量

    123606
  • Tim
    Tim
    +關(guān)注

    關(guān)注

    0

    文章

    85

    瀏覽量

    19038
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    202

    瀏覽量

    33161
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    是否可以將 visionfive2 的 uart 配置為 1Mb 波特率

    我需要通過(guò) uart 加載 u-boot 和 u-boot spl,由于某種原因我不能使用 sd 或 spi flash。但是這需要太多時(shí)間,因?yàn)槟J(rèn)的 uart 波特率是 115200。 我試過(guò)
    發(fā)表于 02-04 06:24

    碩博電子IO模塊修改波特率和節(jié)點(diǎn)ID操作步驟

    正確設(shè)置波特率與節(jié)點(diǎn)ID,是保證IO模塊與控制器穩(wěn)定通信的關(guān)鍵。配置不當(dāng)易引發(fā)設(shè)備失聯(lián)、數(shù)據(jù)錯(cuò)亂等故障。本文將詳細(xì)講解波特率與節(jié)點(diǎn)ID的規(guī)范修改步驟,輕松搞定配置難題。
    的頭像 發(fā)表于 01-27 10:39 ?511次閱讀
    碩博電子IO模塊修改<b class='flag-5'>波特率</b>和節(jié)點(diǎn)ID操作步驟

    請(qǐng)問(wèn)使用串口ISP波特率可以自己設(shè)定嗎?

    請(qǐng)問(wèn)使用串口ISP,波特率可以自己設(shè)定嗎?
    發(fā)表于 01-14 08:27

    FDCAN 數(shù)據(jù)段波特率增加后發(fā)送失敗的問(wèn)題分析

    客戶在使用 FDCAN 協(xié)議,仲裁段波特率配置位 1Mbit/s,數(shù)據(jù)段波特率配置為 5Mbit/s時(shí),發(fā)現(xiàn) FDCAN 發(fā)送功能異常。首先建議客戶使用 IC 內(nèi)部回環(huán)模式進(jìn)行測(cè)試發(fā)現(xiàn) 5M
    發(fā)表于 01-04 11:16 ?0次下載

    請(qǐng)問(wèn)波特率參數(shù)如何設(shè)置?

    波特率參數(shù)如何設(shè)置?
    發(fā)表于 12-24 08:05

    支持小數(shù)波特率的意義是什么

    我看芯源有一款MCU是支持小數(shù)波特率,支持小數(shù)波特率的意義是什么?是為了數(shù)據(jù)傳輸更穩(wěn)定?
    發(fā)表于 12-11 07:15

    請(qǐng)問(wèn)支持小數(shù)波特率接收數(shù)據(jù)的意義在哪兒?

    我看芯源支持小數(shù)波特率,話說(shuō),支持小數(shù)波特率接收數(shù)據(jù)的意義在哪兒?是通訊更有精度嗎?
    發(fā)表于 12-02 07:17

    UART波特率計(jì)算及UART收發(fā)回顯實(shí)驗(yàn)

    Register)。波特率與寄存器的的公式如圖19_8 所示。N表示BRR寄存器的,B是波特率,PCLK 是外設(shè)時(shí)鐘的頻率(單位:MH
    的頭像 發(fā)表于 10-17 09:51 ?2974次閱讀
    UART<b class='flag-5'>波特率</b>計(jì)算及UART收發(fā)回顯實(shí)驗(yàn)

    115200的波特率,為啥實(shí)際速度只有11KB/s?

    波特率≠真實(shí)速度! 這幾個(gè)概念確實(shí)容易混淆,但它們描述的是通信過(guò)程中不同層面的速率指標(biāo)。讓我們一起來(lái)理清楚它們的區(qū)別和聯(lián)系↓ 主要區(qū)別解析 比特 (Bit Rate): 指每秒傳輸?shù)亩M(jìn)制比特?cái)?shù)量
    的頭像 發(fā)表于 09-10 11:18 ?754次閱讀

    請(qǐng)問(wèn)如何使用低功耗 UART (LP UART) 波特率補(bǔ)償?

    如何使用低功耗 UART (LP UART) 波特率補(bǔ)償?
    發(fā)表于 08-21 07:05

    波特率是什么

    波特率是串行通信中的一個(gè)核心參數(shù),用于描述數(shù)據(jù)在傳輸線路上的傳輸速率。以下從定義、單位、與比特的關(guān)系、實(shí)際應(yīng)用及設(shè)置注意事項(xiàng)等方面進(jìn)行詳細(xì)說(shuō)明: 一、定義與本質(zhì) 波特率(Baud Rate)指單位
    的頭像 發(fā)表于 07-22 11:11 ?8326次閱讀

    可編程電源的通信波特率應(yīng)如何設(shè)置?

    支持9600-115200bps,Chroma 62000P系列支持1200-230400bps)。 標(biāo)準(zhǔn)波特率:優(yōu)先選擇通用標(biāo)準(zhǔn)(如9600、19200、38400、115200bps),避免使用非標(biāo)波特率
    發(fā)表于 07-07 15:01

    基于瑞薩64位MPU RZ/G2L的uboot串口多波特率支持介紹

    本文主要介紹基于瑞薩64位MPU RZ/G2L,討論uboot下非常規(guī)波特率115200的支持方法,用于解決客戶對(duì)uboot下特殊波特率的需求,供客戶參考。
    的頭像 發(fā)表于 07-04 15:54 ?3056次閱讀
    基于瑞薩64位MPU RZ/G2L的uboot串口多<b class='flag-5'>波特率</b>支持介紹

    第二十章 TIM——基本定時(shí)器

    本章介紹了W55H32基本定時(shí)器TIM6、TIM7,16位向上計(jì)數(shù),含時(shí)鐘源、預(yù)分頻器等,講解定時(shí)計(jì)算及初始化結(jié)構(gòu)體。
    的頭像 發(fā)表于 06-20 13:51 ?1156次閱讀
    第二十章 <b class='flag-5'>TIM</b>——基本定時(shí)器

    第十四章 USART——串口通訊

    本章介紹了USART串口通訊,含物理層(RS-232、TTL電平)、協(xié)議層(波特率、數(shù)據(jù)幀),及W55MH32的USART功能與應(yīng)用。
    的頭像 發(fā)表于 06-14 16:30 ?1790次閱讀
    第十四章 <b class='flag-5'>USART</b>——串口通訊