STM32F1xx微控制器使用韌體庫時串列埠列印亂碼的解決辦法
有時STM32F1系列微控制器在配置完串列埠之後進行列印時,會出現列印亂碼的問題,此時有可能是以下幾種情況引起:
1. 串列埠工具所選擇的波特率和微控制器設定的波特率不一致,請認真排查波特率問題;
2. 串列埠的TX、RX管腳可能接觸或焊接不好,請排查硬體問題;
3. 程式中使用的晶振頻率值和外部實際使用的晶振值不一致,可按以下方法進行修改解決。
根據外部晶振,若使用的是25M,那麼將"stm32f10x.h" 做如下修改,(啟動檔案使用的是startup_stm32f10x_cl.s)就能解決問題。
相關推薦
STM32F1xx微控制器使用韌體庫時串列埠列印亂碼的解決辦法
有時STM32F1系列微控制器在配置完串列埠之後進行列印時,會出現列印亂碼的問題,此時有可能是以下幾種情況引起:1. 串列埠工具所選擇的波特率和微控制器設定的波特率不一致,請認真排查波特率問題;2. 串列埠的TX、RX管腳可能接觸或焊接不好,請排查硬體問題;3. 程式中使用的
Pixhawk原生韌體PX4之串列埠新增讀取感測器實現
歡迎交流~ 個人 Gitter 交流平臺,點選直達: 本部落格承接前一篇,對FreeApe的串列埠新增超聲波感測器博文後半部分進行學習。 為什麼叫前奏呢,因為用了偽感測器,把微控制器用串列埠傳送的有規律的資料當作了感測器讀取到的資料。但是無礙的。
笙泉MA505_24,串列埠列印亂碼問題解決
最近在用笙泉的MA805_24晶片,在除錯串列埠時總是出現串列埠打印出亂碼問題,22.1184MHZ的晶振,波特率設定為9600, AUXR2 |= 1<<6; //選擇SYSCLK作時鐘源TMOD &= 0x0F; //使用定時器
[Android6.0][RK3399] 串列埠無法輸入輸出 串列埠列印亂碼
Platform: RK3399 OS: Android 6.0 Version: v2017.03 新裝的電腦,安裝了 minicom 後,連線上 3399 的板子無列印資訊,無法輸入。安裝過程如下: [Linux] 串列埠除錯工具 Mini
pip安裝庫時出現Read timed out.解決辦法
在安裝python庫,在網路不好的情況會遇到 raise ReadTimeoutError(self._pool, None, 'Read timed out.') ReadTimeoutError: HTTPSConnectionPool(host='files.pyth
esp8266網路自動對時 串列埠字元連線 病顯示 12864i2c u8g2庫
給別人定做的 做的 集成了 煙霧感測器 dht11 u8g2 網路 自動對時 #include <dht11.h>//程式中呼叫了dht11的庫 #include <Arduino.h> #include <U8g2lib.h> #ifdef
STM32F407VET6之IAR之ewarm7.80.4工程建立(基於官方韌體庫1.6版本) 的工程檔案目錄
最後整理結構如下所示,├─cmsis│ startup_stm32f401xx.s│ startup_stm32f40xx.s│ startup_stm32f40_41xxx.s│ startup_stm32f410xx.s│ startup_stm32f411xe.s│ startup_stm32f427x
STM32F407VET6之IAR之ewarm7.80.4工程建立(基於官方韌體庫1.6版本)
今天把stm32F407的工程之IAR建立完成了,特此記錄下。 下載官方韌體庫,STM32F4xx_DSP_StdPeriph_Lib_V1.6.1,V1.8.0版本的同理。新建以下幾個檔案 src放官方的各個c檔案 inc放官方的各個h檔案,以及使用者的h檔案,這樣可以方便在options裡只需要一個
韌體庫FSMC_NORSRAMInit( )函式程式碼分析
相關結構體 typedef struct { uint32_t FSMC_Bank; //指定FSMC NOR/SRAM的儲存區 塊一的1~4區 uint32_t FSMC_DataAddressMux; //資料地址匯流排複用位設定
STM32 標準韌體庫的下載,檔案介紹和工程的建立(綜合)
前言 博文基於ARM Cortex-M3核心的STM32F103ZET6晶片和標準3.5.0庫; 博文介紹標準庫中個資料夾的含義和以及一個簡單工程的建立; 如有不足之處還請博友多多指教; 標準庫的下
如何新建stm32韌體庫工程
1、首先先新建一個工程資料夾,在它之下再新建7個資料夾 DOC用於存放程式說明檔案 Listing存放的是編譯器編譯時候產生的c/彙編/連結的列表清單 Output存放的是編譯產生的除錯資訊、hex檔案、預覽資訊、封裝庫等 Project用來存放工程 CMSIS
STM32F429 >> 3. STM32 韌體庫
CMSIS 標準中最主要的為 CMSIS 核心層,它包括了: 核心函式層:其中包含用於訪問核心暫存器的名稱、地址定義; 裝置外設訪問層:提供了片上的核外外設的地址和中斷定義。 庫目錄,檔案簡介 在STM32F4xx_DSP_StdPeriph_Lib_V
HAL庫關於串列埠接收中斷接收不定長字元實現
1、IO口基本配置: GPIO_InitStruct.Pin = CTR_UART4_TX; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; // GPIO_InitStruct.Pull = GPIO_NOPULL; GP
Linux下開發stm32(四) | 韌體庫工程開發
st官方韌體庫是在暫存器操作之上的,但是使用暫存器操作的話,需要注意的地方很多,需要對照參考手冊一個一個賦值,稍有不慎便會出錯,所以韌體庫將外設的初始化封裝成初始化結構體,將外設的操作封裝在函式中,將暫存器賦值的操作都封裝起來,我們只需要呼叫API就可以,這樣一來既提高了開發效率,也減少了程
ESP8266 01S 刷AT韌體庫
今天經歷了亂碼改變世界的想法, 刷完at韌體庫之後一直亂碼, 亂碼...... 後來才發現是flash選錯了 廢話不多說, 直接來下韌體吧,先貼一張esp8266 01s的美圖 刷韌體時 ESP8266
把stm32韌體庫替換過程中出現的問題
USE_STDPERIPH_DRIVER, STM32F10X_HD compiling stm32f10x_usart.c... .\CMSIS\stm32f10x.h(96): error: #35: #error directive: "Please select first the target
STM32cube HAL庫 UART串列埠中斷方式收發任意長度 除錯筆記
STM32Cube對於新專案的開發能節省不少時間,從繁瑣晶片初始化中解脫出來1.STM32 UART初始化部分,配置好工程,採用STM32cube生成程式碼,初始化即已經完成。2.串列埠中斷方式的發動作:HAL_UART_Transmit_IT沒做任何處理的情況下,我們在程式
GD32 使用stm32 韌體庫
1、 系統 1) 晶振起振區別 描述:啟動時間,GD32 與STM32 啟動時間都是2ms,實際上GD 的執行效率快,所以ST 的HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)是2ms,但是這個巨集定義值在GD 上時間就更
使用51微控制器採用中斷方式進行串列埠通訊的學習記錄:
使用51微控制器進行串列埠通訊的學習記錄之中斷方式: 1.51微控制器採用中斷方式的串列埠通訊過程及程式分析: 所謂中斷方式,就是串列埠收/發標志位出發中斷後,在中斷中執行既定操作,可通過函式呼叫來實現。 接收資料時 等待中斷->然後在中斷中接收資料 傳送資料時 傳
STM8S 韌體庫GPIO設定問題
ST對STM8S系列都有提供韌體庫,而不同的版本自然存在一些不同,版本也一直從V1.0.0升級到目前的V1.1.1。 環境: FWLIB V1.0.1版本,採用STM8SF103 在使用GPIO庫時,一個偶然發現stm8s_gpio.h中的巨集定義是存在問題的。 程式碼定義