亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

USART的波特率的計(jì)算公式

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-02-16 15:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用開(kāi)發(fā)板的USART作為UART通信,在前調(diào)用BSP_Init()函數(shù)初始化開(kāi)發(fā)板,串口上傳輸?shù)臄?shù)據(jù)出錯(cuò):‘a(chǎn)’變成0xfa或0xfe;

【在這個(gè)問(wèn)題解決之后,回頭總結(jié)下,在解決問(wèn)題時(shí):

1.預(yù)計(jì)有可能造成出錯(cuò)的原因(這個(gè)可能需要一些經(jīng)驗(yàn),但是思維方式需要這樣的猜測(cè),從系統(tǒng)內(nèi)外,可以先羅列出盡可能有的原因,后面再一一排除)

2.盡可能的定位出錯(cuò)的地方(比如這里通過(guò)在線調(diào)試,確定在修改時(shí)鐘后,可以解決數(shù)據(jù)發(fā)送的不正確)

3.推測(cè)并排除次因,找出主因,往深一步探測(cè) 】

1:猜測(cè)原因。

外因:串口接收的過(guò)程受干擾

內(nèi)因:A.端口設(shè)置有問(wèn)題 B.USART的波特率設(shè)置有問(wèn)題

2:定位錯(cuò)誤

在剛開(kāi)始時(shí)通過(guò)屏蔽BSP_Init()發(fā)現(xiàn)功能正常,再具體定位到BSP_Init()里面的SYSCLK_Frequency時(shí)鐘設(shè)置,發(fā)現(xiàn)例程中默認(rèn)的是72M,但是改為36M,就沒(méi)有問(wèn)題,應(yīng)該是時(shí)鐘方面的設(shè)置問(wèn)題,具體的問(wèn)題做何解析?

3:推測(cè)排除,深究

外因內(nèi)因很好排除,數(shù)據(jù)既然在波特率低時(shí)能正常通信,可能不是端口設(shè)置的問(wèn)題,應(yīng)該是波特率的問(wèn)題,??从脩羰謨?cè)該節(jié)的資料:

注:

1.CPU 的時(shí)鐘頻率越低,則某一特定波特率的誤差也越低??梢赃_(dá)到的波特率上限可以由這組數(shù)據(jù)得到。

2.只有USART1 使用PCLK2(最高72MHz)。其它USART使用PCLK1(最高36MHz)。

USART的波特率的計(jì)算公式:

USARTDIV是一個(gè)無(wú)符號(hào)的定點(diǎn)數(shù)。這12位的值設(shè)置在USART_BRR寄存器。那么USARTDIV與USART_BRR的關(guān)系又是怎么樣的?

加入U(xiǎn)SARTDIV=27.75;那么USART_BRR=0x1B(27)+0XC(0.75*16)=0X1BC;同理可以從USART_BRR推出USARTDIV的值;

假設(shè)fck=36000000;Tx=115200;=》USARTDIV=19.53125;所以0x13+(0.53125*16=8.5)=》0x13+0x9=0x139;所以實(shí)際上是0x139產(chǎn)生的波特率:115015.97(誤差率為0.15%);

===》理論最大波特率:36000000/(16*1.0)=2.25M(USARTDIV最小為1.0)

繼續(xù)往下查,對(duì)于SYSCLK_Frequency最高72M,運(yùn)行應(yīng)該沒(méi)有問(wèn)題,但是目前有問(wèn)題;順藤摸瓜,查看各個(gè)時(shí)鐘控制器,發(fā)現(xiàn)時(shí)鐘設(shè)置路徑:HSE--》PREDIV2--》PLL2--》PREDIV1--》PLL--》SYSCLK;

發(fā)現(xiàn)其中有問(wèn)題:HSE(25M),PREDIV2(源代碼設(shè)置是2分頻),PLL2(8倍頻),PREDIV1(9倍頻),SYSCLK是算不出72M的,這時(shí)72M的算法其實(shí)已經(jīng)超過(guò)72M,所以給USART2時(shí),波特率計(jì)算時(shí)會(huì)出現(xiàn)問(wèn)題;將PREDIV2(改為5分頻就對(duì)了);

這就是為什么調(diào)用BSP_Init()或者SystemInit會(huì)出問(wèn)題,他們都調(diào)用SetSysClock(),再調(diào)用SetSysClockTo72()【宏定義72M】,同時(shí)將系統(tǒng)時(shí)鐘改為36M時(shí)不會(huì)出問(wèn)題,因?yàn)榇藭r(shí)調(diào)用的不是出問(wèn)題的SetSysClockTo72(),而在之前用的是出錯(cuò)的SetSysClockTo72()卻沒(méi)有發(fā)現(xiàn)問(wèn)題,是因?yàn)橄到y(tǒng)時(shí)鐘雖沒(méi)有在預(yù)設(shè)值,但是系統(tǒng)還足以正常工作,但是一旦添加串口,波特率設(shè)置就會(huì)有很大的偏差,數(shù)據(jù)傳輸就出錯(cuò)。

1:參考代碼其實(shí)里面是有很多問(wèn)題的

2:我們應(yīng)該盡可能的多閱讀參考代碼,利用其中的資源,避免重復(fù)造輪子。

2:用串口終端軟件顯示字符串,連續(xù)發(fā)送幾個(gè)字符串時(shí),“xxxx/n”,包含了換行轉(zhuǎn)義字符,但是就是不會(huì)換行?

通過(guò)調(diào)試,發(fā)現(xiàn)在存儲(chǔ)空間,轉(zhuǎn)義字符‘/n’是正確的0x0a,

USART_SendString(USART2,Menu[0]);

USART_SendString(USART2,Menu[1]);

USART_SendString(USART2,Menu[2]);

USART_SendString(USART2,Menu[3]);

但是不連續(xù)發(fā)送就不會(huì)出現(xiàn)這種現(xiàn)象,或者一句句調(diào)試打印也不會(huì)出現(xiàn)不換行的現(xiàn)象,斷定是連續(xù)發(fā)送的時(shí)間間隔太短,軟件還沒(méi)來(lái)得及換行,就又重新顯示新數(shù)據(jù),那么就在USART_SendString的尾部加了延時(shí),就解決問(wèn)題了。

來(lái)源:http://www.51hei.com/stm32/4117.html

審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    6051

    瀏覽量

    111289
  • STM32F
    +關(guān)注

    關(guān)注

    1

    文章

    42

    瀏覽量

    18690
  • 學(xué)習(xí)筆記
    +關(guān)注

    關(guān)注

    1

    文章

    28

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    波特率是什么

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

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

    可編程電源的通信波特率設(shè)置需綜合考慮設(shè)備兼容性、通信穩(wěn)定性、實(shí)時(shí)性需求及抗干擾能力,推薦根據(jù)設(shè)備支持的最高波特率、通信距離、環(huán)境干擾等因素,優(yōu)先選擇標(biāo)準(zhǔn)波特率(如9600、19200、38400
    發(fā)表于 07-07 15:01

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

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

    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><b class='flag-5'>計(jì)算</b>

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

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

    波特率設(shè)置中的常見(jiàn)問(wèn)題解析

    在數(shù)字通信系統(tǒng)中,波特率是一個(gè)關(guān)鍵參數(shù),它直接影響數(shù)據(jù)傳輸?shù)男屎涂煽啃?。然而,在?shí)際應(yīng)用中,波特率的設(shè)置往往會(huì)引起一些常見(jiàn)的問(wèn)題。 一、波特率與數(shù)據(jù)速率的混淆 問(wèn)題描述: 許多人會(huì)將波特率
    的頭像 發(fā)表于 11-22 10:06 ?2260次閱讀

    波特率對(duì)實(shí)時(shí)數(shù)據(jù)傳輸?shù)挠绊?/a>

    在現(xiàn)代通信系統(tǒng)中,實(shí)時(shí)數(shù)據(jù)傳輸是至關(guān)重要的。無(wú)論是工業(yè)自動(dòng)化、遠(yuǎn)程醫(yī)療、在線游戲還是物聯(lián)網(wǎng)(IoT)應(yīng)用,都需要快速、可靠的數(shù)據(jù)傳輸來(lái)保證系統(tǒng)的正常運(yùn)行和用戶體驗(yàn)。 波特率的定義 波特率,也稱為符號(hào)
    的頭像 發(fā)表于 11-22 10:03 ?1723次閱讀

    波特率與串行通信的關(guān)系 各種設(shè)備波特率轉(zhuǎn)換的方法

    波特率(Baud Rate)是串行通信中的一個(gè)重要參數(shù),它指的是信號(hào)傳輸?shù)乃俾?,即單位時(shí)間內(nèi)傳輸?shù)姆?hào)(或信號(hào)狀態(tài))的數(shù)量。在串行通信中,波特率決定了數(shù)據(jù)傳輸?shù)乃俣?,因此?duì)于通信效率和設(shè)備兼容性
    的頭像 發(fā)表于 11-22 10:01 ?2124次閱讀

    常見(jiàn)的波特率標(biāo)準(zhǔn)和協(xié)議

    波特率是指在數(shù)據(jù)通信中,每秒鐘傳輸?shù)姆?hào)數(shù)(或比特?cái)?shù)),是衡量數(shù)據(jù)通信速度的重要指標(biāo)。在不同的通信協(xié)議和場(chǎng)景中,常見(jiàn)的波特率標(biāo)準(zhǔn)和協(xié)議有所不同。以下是一些常見(jiàn)的波特率標(biāo)準(zhǔn)和協(xié)議: 一、串口通信
    的頭像 發(fā)表于 11-22 09:56 ?8447次閱讀

    Wi-Fi與藍(lán)牙的波特率對(duì)比分析

    Wi-Fi與藍(lán)牙是兩種不同的無(wú)線通信技術(shù),它們?cè)?b class='flag-5'>波特率(或稱數(shù)據(jù)傳輸速率)方面存在顯著的差異。以下是對(duì)Wi-Fi與藍(lán)牙波特率的對(duì)比分析: 一、Wi-Fi的波特率 概述 : Wi-Fi(無(wú)線局域網(wǎng)
    的頭像 發(fā)表于 11-22 09:54 ?2603次閱讀

    波特率設(shè)置在串口通信中的重要性

    在現(xiàn)代通信技術(shù)中,串口通信作為一種基本的數(shù)據(jù)傳輸方式,扮演著不可或缺的角色。無(wú)論是在計(jì)算機(jī)與外部設(shè)備的連接,還是在工業(yè)自動(dòng)化系統(tǒng)中的數(shù)據(jù)交換,串口通信都發(fā)揮著重要作用。波特率,作為串口通信中的關(guān)鍵
    的頭像 發(fā)表于 11-22 09:51 ?3747次閱讀

    波特率的定義和計(jì)算方法 波特率與數(shù)據(jù)傳輸速度的關(guān)系

    。符號(hào)可以是數(shù)字、字母、聲音、圖像等,根據(jù)不同的符號(hào)來(lái)確定每個(gè)符號(hào)占據(jù)多長(zhǎng)時(shí)間。 波特率計(jì)算方法 波特率計(jì)算方法通常有兩種: 基于傳輸速率和符號(hào)位數(shù) :
    的頭像 發(fā)表于 11-22 09:49 ?1.1w次閱讀

    云端彈性計(jì)算公式有哪些內(nèi)容?

    云端彈性計(jì)算公式有哪些內(nèi)容?云端彈性計(jì)算公式涵蓋資源分配、性能監(jiān)控、自動(dòng)伸縮及積分計(jì)算等方面。資源分配依據(jù)虛擬機(jī)配置和實(shí)際需求動(dòng)態(tài)調(diào)整;性能監(jiān)控實(shí)時(shí)監(jiān)控CPU、內(nèi)存等關(guān)鍵指標(biāo);自動(dòng)伸縮根據(jù)預(yù)設(shè)閾值
    的頭像 發(fā)表于 11-15 11:04 ?767次閱讀

    串口波特率是多少?

    波特率是多少
    發(fā)表于 11-05 15:40