国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源)

這篇具有很好參考價值的文章主要介紹了【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

使用 stm32f407 與電腦主機進(jìn)行串口通信時,串口助手打印亂碼,主要從以下方面進(jìn)行排查:

  • 檢查傳輸協(xié)議設(shè)置是否一致(波特率、數(shù)據(jù)位、停止位、校驗位)
  • 檢查MCU外部晶振頻率是否和庫函數(shù)設(shè)置的一致

最終發(fā)現(xiàn)是外部晶振頻率和庫函數(shù)不一致的問題。

一、時鐘分析

1、認(rèn)識時鐘源

我們要檢查的是 APB2總線的時鐘源是否設(shè)置正常,因為我們當(dāng)前使用的串口 USART1 與 APB2 總線(高速總線)相連,從下圖看,時鐘源有三個:

  • HSI:高速內(nèi)部時鐘,RC振蕩器,頻率為16MHz
  • HSE:高速外部時鐘,接外部時鐘源,頻率范圍為4MHz~26MHz
  • PLL:鎖相環(huán)倍頻輸出,其時鐘輸入源可選擇為?HSI/M、HSE/M(本質(zhì)還是 由HSE或HSI控制)

就結(jié)果而言,選擇的時鐘源是 PLLCLK。(若想了解,可以參考最后一部分)

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

2、計算系統(tǒng)時鐘

現(xiàn)在已經(jīng)知道了選擇的是 PLLCLK 作為時鐘源,那么我們就可以順著這條路線計算系統(tǒng)時鐘的值。正點原子 stm32f407 的外設(shè)時鐘頻率 HSE = 8 M

① 輸入 HSE

②?經(jīng)過 M 分頻,得到的結(jié)果為 HSE / M = 8 / M

③ ④ ⑤ ⑥ 經(jīng)過 N 倍頻,VCO的輸出為 (HSE / M ) * N

⑦ 再次 P 分頻就得到?SYSCLK =?(HSE / M ) * N / P

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

二、解決外部晶振頻率和庫函數(shù)不一致的問題

從上面可知,選擇的系統(tǒng)時鐘頻率? SYSCLK =?(HSE / M ) * N / P,配置文件預(yù)期的 SYSCLK = 144MHz,其余參數(shù)也都指定了

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

實際上 HSE 需要視開發(fā)板具體情況而定,stm32f4?的 HSE 為 8 MHz,然而配置文件中配置的頻率是 25 M,為了不影響原本的SYSCLK,我們需要修改 HSE 和 PLL_M。

  • HSE =?8 M = 8000000
  • PLL_M = (HSE / SYSCLK ) * N / P = 8

1、修改 HSE

HSE 在程序中的體現(xiàn)為宏定義 HSE_VALUE ,該宏定義在?stm32f4xx.h 文件中

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

這里有兩種修改方法,可任選一種修改

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

2、修改 PLL_M

分頻數(shù) M 在程序中的體現(xiàn)是宏定義?PLL_M,該宏定義在?system_stm32f4xx.c 文件中

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

?

三、為什么可以確定時鐘源為 PLLCLK 而不是 HSE

stm32 在啟動的時候就會調(diào)用?SystemInit 函數(shù),這個函數(shù)就包含了初始化外設(shè)的時鐘源。這個函數(shù)定義在 system_stm32f4xx.c 中。我們直接找到 SetSysClock 函數(shù),這之前的都是將控制寄存器位清零的操作。

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

我們進(jìn)入到 SetSysClock 函數(shù),首先是HSE使能,等待時鐘準(zhǔn)備就緒。剛上電的時候 HSE 晶振不穩(wěn)定,需要等待 6 個晶振時鐘周期。

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

PLL 使能,等待時鐘準(zhǔn)備就緒。一開始 PLL 處于被鎖定狀態(tài),這里需要等待 PLL 解鎖。

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

一切準(zhǔn)備就緒,然后將 PLL 設(shè)為系統(tǒng)時鐘。?

【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源),嵌入式,stm32,嵌入式硬件,單片機

?

參考文章:

在串口通信實驗中出現(xiàn)通信亂碼怎么辦-電子發(fā)燒友網(wǎng) (elecfans.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-663532.html

到了這里,關(guān)于【STM32】串口通信亂碼(認(rèn)識系統(tǒng)時鐘來源)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【嵌入式知識08】STM32的USART串口通信,給上位機連續(xù)發(fā)送Hello Windows!

    【嵌入式知識08】STM32的USART串口通信,給上位機連續(xù)發(fā)送Hello Windows!

    本文主要介紹串口協(xié)議和RS-232、485標(biāo)準(zhǔn),以及RS232、485電平與TTL電平的區(qū)別,了解\\\"USB/TTL轉(zhuǎn)232\\\"模塊的工作原理;并完成一個STM32的USART串口通訊程序。 ??串口通信(Serial Communication)的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)的通信方式。盡管比按字節(jié)(byte)的并行通信

    2024年02月13日
    瀏覽(32)
  • P27[9-3]STM32:串口通信(串口發(fā)送)(內(nèi)含:1.接線圖+2.實物圖+3.代碼部分+4.解決串口發(fā)送數(shù)據(jù),數(shù)據(jù)是漢字,結(jié)果發(fā)送結(jié)果為亂碼的現(xiàn)象)

    P27[9-3]STM32:串口通信(串口發(fā)送)(內(nèi)含:1.接線圖+2.實物圖+3.代碼部分+4.解決串口發(fā)送數(shù)據(jù),數(shù)據(jù)是漢字,結(jié)果發(fā)送結(jié)果為亂碼的現(xiàn)象)

    1.接線圖如下: 跳線帽接在4~5引腳,2,3引腳連接PA9和PA10引腳。下圖也可得出USART接PA9和PA10引腳。 TX和RX是交叉連接。PA9(黃線)是TX,接RXD。PA9(綠線)是RXD,接TX. 圖中的串口模塊和STINK都接電腦上,使之擁有獨立供電。 2.實物圖: 黃色為跳線帽,接4~5引腳。

    2024年02月09日
    瀏覽(22)
  • 通信工程畢設(shè) Stm32酒駕檢查系統(tǒng) - 單片機 嵌入式 物聯(lián)網(wǎng)

    通信工程畢設(shè) Stm32酒駕檢查系統(tǒng) - 單片機 嵌入式 物聯(lián)網(wǎng)

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月19日
    瀏覽(701)
  • 通信工程畢設(shè) stm32智能運動計步系統(tǒng) - 物聯(lián)網(wǎng) 嵌入式 單片機

    通信工程畢設(shè) stm32智能運動計步系統(tǒng) - 物聯(lián)網(wǎng) 嵌入式 單片機

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月21日
    瀏覽(712)
  • 嵌入式學(xué)習(xí)筆記——STM32的時鐘樹

    嵌入式學(xué)習(xí)筆記——STM32的時鐘樹

    在之前的所有代碼編程的過程中,似乎每次都繞不開一個叫做時鐘使能的東西,當(dāng)時我們是在數(shù)據(jù)手冊上直接看其掛接在那條時鐘線上的,那么STM32內(nèi)部的時鐘到底是怎么一個構(gòu)型呢,本文來對此做一個介紹。 老規(guī)矩,一個新的名詞出現(xiàn),首先需要搞清楚它是個啥,下圖中對

    2024年02月02日
    瀏覽(24)
  • STM32串口映射printf——發(fā)送中文字符亂碼

    STM32串口映射printf——發(fā)送中文字符亂碼

    簡介 ? ? ? ? 在將之前的工程使用Notepad++修改代碼后,加載到現(xiàn)有工程中,使用串口打印輸出測試串口功能,發(fā)現(xiàn)輸出的中文字符全為亂碼。對照keil設(shè)置,確保與之前工程中設(shè)置一樣,莫名的就是不能輸出中文字符。 解決過程 ? ? ? ? 此處串口已輸出為亂碼,說明移植過來

    2024年02月12日
    瀏覽(20)
  • STM32使用串口printf亂碼問題解決方法

    STM32使用串口printf亂碼問題解決方法

    使用stm32系列單片機串口打印問題,在使用HAL庫重新定義printf為串口輸出后,輸出的內(nèi)容全都是亂碼,試了網(wǎng)上的方法后還是亂碼。 ?像這樣的 ? ?最后發(fā)現(xiàn)是串口調(diào)試助手和keil的文字編碼方式不同, keil中是GB 2312,串口調(diào)試助手是UFT_8,所以打印出來才會亂碼 ?將串口調(diào)試助

    2024年02月11日
    瀏覽(34)
  • [分享]STM32G070 串口 亂碼 解決方法

    [分享]STM32G070 串口 亂碼 解決方法

    NUCLEO-G070RB cubemx 7bit 改為 8bit ? #include stdio.h ? ? ?

    2024年02月13日
    瀏覽(14)
  • 通信工程畢設(shè) Stm32 WIFI智能家居溫濕度和煙霧檢測系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式

    通信工程畢設(shè) Stm32 WIFI智能家居溫濕度和煙霧檢測系統(tǒng) - 單片機 物聯(lián)網(wǎng) 嵌入式

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年02月02日
    瀏覽(96)
  • 【嵌入式學(xué)習(xí)-STM32F103-TIM-定時中斷和外部時鐘】

    【嵌入式學(xué)習(xí)-STM32F103-TIM-定時中斷和外部時鐘】

    1、定時器基本定時,定一個時間,然后讓定時器每隔一段時間產(chǎn)生一個中斷,來實現(xiàn)每隔一個固定時間執(zhí)行一段程序的目的,比如要做一個時鐘、秒表或者使用一些程序算法 2、定時器輸出比較的功能,輸出比較這個模塊最常見的用途是產(chǎn)生PWM波形,用于驅(qū)動電機等設(shè)備,使

    2024年02月12日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包