国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

知道STM32串口通信亂碼要怎么處理嗎

MCU開發加油站 ? 來源:CSDN技術社區 ? 作者:aizaiyueye ? 2021-06-16 15:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32串口通信以及溫度采集搞定,其中主要遇到STM32系列單片機時鐘樹的問題,串口通信遇到串口調試助手能夠接收到數據但出現亂碼現象。

開始一直以為是串口配置和程序代碼問題,因為是第一次上電在線調試STM32板子,后面主要查串口波特率配置和收發函數程序段,如下圖:

c66b74cc-cb60-11eb-9e57-12bb97331649.png

波特率設置成115200沒問題,試著降低波特率改成9600和4800但問題依舊沒有解決,緊接著如下處理:

c6a06ae2-cb60-11eb-9e57-12bb97331649.png

將重定向函數注釋,單獨寫串口發送字節和字符串函數,依舊失敗。最后鎖定到系統時鐘配置上,由于手上的STM32開發板改用了12M的晶振,根據單片機時鐘樹的理解和解讀,一般采用外部時鐘HSE,系統時鐘配置成72M,8*9=72,,12*6=72,對于 SYSCLK、HCLK、PCLK2、PCLK1

這四個時鐘的配置一般是:PCLK2 = HCLK = SYSCLK=PLLCLK = 72M,PCLK1=HCLK/2= 36M。UART1掛載在APB2總線,而PCLK2 = HCLK = SYSCLK=PLLCLK = 72M,

c6e61736-cb60-11eb-9e57-12bb97331649.png

因此在system_stm32f10x.c文件中的setsysclockto72()函數中,(system_stm32f10x.c文件實現了 STM32的時鐘配置,操作的是片上的 RCC這個外設統在上電之后,首選會執行由匯編編寫的啟動文件,啟動文件中的復位函數中調用systemInit 函數就在這個文件里面定義。systemInit 函數默認調用setsysclockto72()配置系統時鐘,系統的時鐘就被初始化成 72M。)這樣便將系統時鐘配置成了72M,否則為12*9=108M。但測試運行仍然接收到亂碼。

繼續找問題所在,查看 在stm32f10x.h里,有下面這段代碼

c782c3d8-cb60-11eb-9e57-12bb97331649.png

原因是庫使用默認8MHz晶振,可以通過宏使用25MHz或12M晶振。具體定義在stm32f10x.h文件中,HSE_VALUE,一開始定義成了8000000,改成12000000搞定,串口通信顯示正常。

版權聲明:本文為CSDN博主「aizaiyueye」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/aizaiyueye/article/details/79049816

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6076

    文章

    45494

    瀏覽量

    670252
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373399
  • 串口通信
    +關注

    關注

    34

    文章

    1662

    瀏覽量

    57962
  • 函數
    +關注

    關注

    3

    文章

    4417

    瀏覽量

    67499

原文標題:STM32串口通信亂碼詳細處理方法

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32驅動串口屏,STM32F103C8T6串口發送指令控制HMI串口

    僅是一部分常用的基礎指令,更多更仔細的指令或者函數可以訪問陶晶馳資料官網。 硬件和接線 硬件需要一塊STM32F103C8T6的開發板,杜邦線諾干,2.4寸串口屏一塊 接線 串口STM32
    的頭像 發表于 02-10 17:07 ?139次閱讀
    <b class='flag-5'>STM32</b>驅動<b class='flag-5'>串口</b>屏,<b class='flag-5'>STM32</b>F103C8T6<b class='flag-5'>串口</b>發送指令控制HMI<b class='flag-5'>串口</b>屏

    串口調試步驟(適合免驅動的232串口設備)

    密碼切換到root超級管理下 apt update 更新插件 apt-get install cutecom 安裝系統自帶的串口調試工具 cutecom 輸入串口測試的指令會彈出一個圖形界面如下圖 32串口協議測試需要將第2和第
    的頭像 發表于 12-17 17:23 ?1445次閱讀
    <b class='flag-5'>串口</b>調試步驟(適合免驅動的232<b class='flag-5'>串口</b>設備)

    UWB650串口測距通信定位模塊規格書

    UWB650串口測距通信定位模塊規格書
    發表于 11-03 17:40 ?1次下載

    關于stm32f4zgt6和mspm0g3507串口通信問題

    本人在使用stm32f4zgt6和mspm0g3507串口通信時出現問題,情況如下: m0芯片使用軟件超時解析進行數據接收,使用標準庫的transmit函數進行數據發送。 stm32使
    發表于 09-01 11:11

    STM32串口發送數據,USART_FLAG_TC無法置位怎么解決?

    STM32串口發送數據,在經過一段時間的數據發送,大概200ms發送一下,一次發送大概二三十個字節的數據,有可能會發生USART_FLAG_TC不置位的情況,如何解決或者避免?輪詢發送,后卡在了
    發表于 07-29 11:44

    ESP32用作經典藍牙串口透傳模塊與手機進行串口通信

    本文介紹了如何把ESP32用作一個藍牙串口透傳設備使用,其功能和常用的HC-05/06串口藍牙設備一樣。并與手機藍牙串口APP進行雙向藍牙通信
    的頭像 發表于 06-20 17:45 ?2988次閱讀
    ESP32用作經典藍牙<b class='flag-5'>串口</b>透傳模塊與手機進行<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    STM32L431偶發串口亂碼的原因?怎么解決?

    項目現場發現有些設備有時下發數據沒反應,該設備由STM32L431外接模塊來接收網絡數據。經過排查,發現亂碼發生時,外接設備發出的數據無亂碼STM32L431的對應該外接設備的
    發表于 06-19 06:46

    PL2303串口驅動

    PL2303串口驅動
    發表于 04-09 16:02 ?4次下載

    PL2303串口驅動win10版本用

    PL2303串口驅動win10版本用
    發表于 04-09 16:02 ?1次下載

    cp2102串口驅動

    cp2102串口驅動
    發表于 04-09 16:01 ?10次下載

    STM32串口下載軟件(FLYMCU)

    STM32串口下載軟件(FLYMCU),經典版本,親試可用。
    發表于 04-09 15:59 ?11次下載

    STM32G4串口無法發送正確的信息是怎么回事?

    STM32G4串口無法發送正確的信息
    發表于 03-14 07:14

    STM32串口通信,上電和斷電串口助手會返回數是怎么回事?

    STM32串口通信,上電和斷電串口助手會返回數,是為什么呢
    發表于 03-12 07:57

    使用Labview做一個485串口電子秤程序

    232、485串口通訊是最常見的儀器儀表通訊方式之一,本文詳細介紹,用Labview編寫一個電子秤的485串口程序.
    發表于 03-06 18:11 ?1次下載

    用Labview寫一個電子稱的485串口程序

    關鍵詞:Labview + 串口程序 232、485串口通訊是最常見的儀器儀表通訊方式之一,本文詳細介紹,用Labview編寫一個電子秤的485串口程序.
    的頭像 發表于 03-06 09:54 ?1857次閱讀
    用Labview寫一個電子稱的485<b class='flag-5'>串口</b>程序