STM32程式中使用printf列印中文字元亂碼

2021-09-25 20:58:18 字數 1014 閱讀 8435

作者 : 李剴

出處 :

或者

前言:相信同我一樣,有一部分同學在寫微控制器程式的時候喜歡用printf列印相關資訊到串列埠,然後在串列埠除錯助手看資料變化。

但是我之前在使用printf去列印中文字元的時候,出現了亂碼,這種問題以前也碰到過,只是沒去深究為什麼,往往都是重新建工程,寫**。 但是時隔很久,又再次碰到這個問題,就想好好把這個問題修改完,

我是使用的iar平台,使用的keil的小夥伴也可以用這個方法解決,都是一樣的。

因為每次用cubemx配置完之後生成**,iar都是以預設編碼utf-8編碼的,所以導致了中文亂碼,如果設定成系統設定,也會亂碼,錯誤設定如下(同樣,keil也有可能是這樣的情況跟,可以嘗試用類似的方法解決)

可以看到右下角還是utf-8

需要重啟一下iar軟體

如果重啟不可以,就用記事本或者你們個人使用的檢視**的軟體開啟src資料夾裡面的main.c 然後另存為gb2312編碼格式的

我用的是vscode,直接另存就可以了,之喲啊儲存為gb2312或者gbk編碼格式就可以,然後開啟iar或者keil工程

注:其他編輯器例如sublime,記事本,notepad++,sourceinsight等等,都可以做的

這裡提示的是中文編碼就可以了

只有心中懷揣著火熱的夢想時,人生才是最美麗的 加油吧!

STM32 程式入口

stm32的啟動需要依賴啟動檔案,不同編譯器的啟動檔案不同,這裡以startup stm32f407xx.s為例,它主要進行了以下工作 復位子程式是系統上電後第乙個執行的程式 reset handler reset handler proc export reset handler weak imp...

STM32使用小結

1 韌體庫函式組織規則 stm32韌體庫使用手冊的中文翻譯版 系統 源程式檔案和標頭檔案命名都以 stm32f10x 作為開頭,例如 stm32f10x conf.h。常量僅被應用於乙個檔案的,定義於該檔案中 被應用於多個檔案的,在對應標頭檔案中定義。所有常量都由英文本母大寫書寫。暫存器作為常量處理...

STM32鍵盤掃瞄程式

stm32鍵盤掃瞄程式 帶中斷觸發輸入 可注釋忽略 include key.h include delay.h 按鍵初始化函式 void key init void while gpiob idr 0x0f00 0x0000 等待鬆開 gpio setbits gpiob,gpio pin 12 g...