錯誤.png (731.74 KB, 下載次數: 0)
下載附件
2025-1-11 22:01 上傳
如題 看圖 做stm32f103rc 驅動oled中文顯示,編碼明明選擇的時gb2312,主程序內調用顯示中文字符OLED_ShowChineseString(0, 0,"電流 00.0V",16, 1);
中文字符串編譯結果卻是 UTF-8編碼,而字庫內中文字庫索引表Chinese_SY內中文確實gb2312編碼,試了很多方法不行。
也就是同樣設置 字庫編譯結果是gb2312碼, 主程序編譯結果是UTF-8.
字庫子程序從其他項目拷貝來的,同一個電腦在51平臺運行正常。
中文字符“電壓”在字庫子程序Chinese_SY編譯后為B5 E7 ,D1 B9 是gb2312,而主程序"電流 00.0V"編譯后代碼為 E7 94 B5,E6 B5 81是UTF-8編碼,后面
00.0V 編譯結果 20 30 30 2E 30 正確。
試過更換編碼格式 編譯后再改回來,從其他文件拷貝粘貼字符,都不行。
又測試一下 中文顯示 放在OLED.c void disp_dy(void){
OLED_ShowChineseString(0, 0,"電流 00.0V",16, 1);
}
主程序調用disp_dy(); 編譯結果正常顯示正常
把子程序OLED.c 拷貝到其他項目,又不行編譯結果又是UTF——8格式,怎么改工程某個文件編碼格式.。keil 5.14版本 MDK-arm 5.34
|