chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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ù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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è)無符號(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í)希望不管你使用寄存器,還是庫開發(fā),其實(shí)都需要了解這些,避免入坑。

2

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

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

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

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

然而,他卻沒有考慮溢出問題:168M / 1000 = 168K,PrescalerValue最大值為65535.

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

有朋友發(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í)鐘差異,大家可以通過查看“參考手冊(cè)”RCC章節(jié),或結(jié)合STM32Cube工具理解。

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

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

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

    關(guān)注

    2305

    文章

    11118

    瀏覽量

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

    關(guān)注

    23

    文章

    3359

    瀏覽量

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

    關(guān)注

    0

    文章

    84

    瀏覽量

    18874
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    201

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    ATClient配合USART_V2使用時(shí),無法開at_client_init后修改串口波特率是怎么回事?

    想讓EPS32模塊上電后把波特率修改到460800,發(fā)現(xiàn)修改了波特率后,用邏輯分析儀發(fā)現(xiàn)MCU數(shù)據(jù)按新的波特率發(fā)送出去了,EPS32也回復(fù)正常了,但是ATClient似乎無法接收到返回的數(shù)據(jù)
    發(fā)表于 10-09 09:10

    串口波特率設(shè)置1200用不了是怎么回事?

    mcu:stm32f407zg 調(diào)試時(shí),設(shè)置波特率為1200,而串口輸出為亂碼,電腦設(shè)置波特率19200來接收mcu的數(shù)據(jù),卻能接收正確; (我以前沒有用RTT時(shí),用stm32f103rct6
    發(fā)表于 09-23 07:19

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

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

    請(qǐng)問如何使用低功耗 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ì)說明: 一、定義與本質(zhì) 波特率(Baud Rate)指單位
    的頭像 發(fā)表于 07-22 11:11 ?5551次閱讀

    可編程電源的通信波特率應(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 ?2739次閱讀
    基于瑞薩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 ?877次閱讀
    第二十章 <b class='flag-5'>TIM</b>——基本定時(shí)器

    第十四章 USART——串口通訊

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

    CAN總線十萬個(gè)為什么 | CAN自定義波特率有什么用?

    導(dǎo)讀CAN總線通信中,波特率一致并不總能保證通信順暢。本文將揭秘自定義波特率的原理和應(yīng)用,探討如何通過優(yōu)化采樣點(diǎn)和提高容忍度解決通信問題,助力工程師提升通信穩(wěn)定性。通常情況下,CAN總線通信只需確保
    的頭像 發(fā)表于 02-07 11:36 ?1083次閱讀
    CAN總線十萬個(gè)為什么 | CAN自定義<b class='flag-5'>波特率</b>有什么用?

    ADS1293的ODR為853HZ,相應(yīng)的DSP的SPI端口的波特率要設(shè)置為多少?

    請(qǐng)問如果我采用5導(dǎo)聯(lián)的連接方法,那么ADS1293的ODR為853HZ,那么相應(yīng)的DSP的SPI端口的波特率要設(shè)置為多少?DSP端的外設(shè)晶振為20M,
    發(fā)表于 01-16 08:08

    AN-891: ADuC703x系列LIN波特率計(jì)算

    電子發(fā)燒友網(wǎng)站提供《AN-891: ADuC703x系列LIN波特率計(jì)算.pdf》資料免費(fèi)下載
    發(fā)表于 01-14 15:53 ?0次下載
    AN-891: ADuC703x系列LIN<b class='flag-5'>波特率</b>計(jì)算

    請(qǐng)問MSC1210串口UART1如何設(shè)置波特率?

    如題,MSC1210的手冊(cè)上面有提到,UART0的波特率可以進(jìn)行選擇,可選擇為T1的溢出作為波特率的設(shè)置,但是UART1的波特率如何設(shè)置?是和UART0的波特率一樣嗎?還是需要其他
    發(fā)表于 01-02 08:27

    RS232通信的波特率設(shè)置說明

    RS232通信的波特率設(shè)置是確保數(shù)據(jù)正確傳輸?shù)年P(guān)鍵參數(shù)之一。以下是對(duì)RS232通信波特率設(shè)置的說明: 一、波特率的概念 波特率是指每秒傳輸?shù)谋忍財(cái)?shù)(bps),是衡量數(shù)據(jù)傳輸速度的重要指
    的頭像 發(fā)表于 12-10 16:26 ?6325次閱讀