keil編譯串口中文字元
㈠ Keil編譯 C8051F340串口輸出中文出錯
我做液晶程序的時候也出現過這個問題,在KEIL中定義字元串像:
uchar a[]={"請輸入第一操作數:"};
結果這個"數"字竟然不顯示,同樣的的我遇到的還有"除"和"三",後來發現用keil定義的"數"轉成十六進制是B3 0A,但中文簡體字碼應該是B3 FD,我將"請輸入第一操作數:"中的漢字全部用中文簡體字碼代替下來才完全顯示.不知道這個信息能不能對你有用.
另外關於"與原來編譯生成的hex文件大小都不一樣"我也有感觸,有時候增加一個函數,RAM使用量居然下降了,我想了想,在編程的時候一定要注意局部變數和全局變數的使用問題,局部變數keil會自動復用,所以要保證局部變數不要被修改掉.
還有一個感觸是,如果是用8051內核的單片機,RAM使用量不能超過96個,我的程序一旦超過這個使用量就會運行混亂.(我用的單片機RAM 1K).這個問題應該是我設置不對,也沒找到門道.反正RAM只能使用128位元組,其餘擴展的用不上.
可以在網路HI山給我留言,一起討論下.
補充:我遇到有些字顯示不出來,如:數,除,三,但是這些字換成中文簡體編碼後(用十六進製表示漢字)就可以顯示,這可能是keil在將漢字轉化成簡體中文編碼時出現bug所致.另外在顯示過程中發現晶振對串口顯示有很大的影響,我先前用12M晶振,9600波特率,顯示不全,但換成11.0592MHZ,9600波特率就顯示正常,我看到你的波特率很大,會不會是這方面的問題.
㈡ 我用Keil寫了簡單的程序發送一個字元串到串口(com3),然後想用Delphi做的小界面接收
1)你好歹外圍也接點基本的電路吧,比如晶振什麼的,你要先做出最小系統板,硬體行了再考慮程序。
2)你的延時函數做什麼用??發送是否完畢是通過判斷TI的值來判斷的,你延遲有什麼用?
3)建議你初始化的時候這么寫「TMOD |= 0X20 ;」這樣寫的好處是不影響到寄存器其他位。
4)建議你直接去做板,模擬行了不代表實際操作就行了,實際操作更能鍛煉人。
㈢ keil+proteus模擬arm,keil設置導致串口亂碼問題
亂碼一般都是時鍾設置有問題,看看你模擬中的晶元的晶振設置是否和keil程序中寫的一樣
㈣ keil不能編譯中文請高手指點一下
你在錯誤行注釋後(加//)就會看到有中文字元,通常是中文漢字或標點,去掉中文字元後撤掉注釋,再編譯.這是個常見錯誤,但由於keil不能顯示漢字,往往不容易發現.我看你程序 "print_string("青島科技");;"在分號後面多了一個中文分號.
㈤ Keil出現亂碼怎麼辦
KEIL的文字編輯功能很爛,尤其是碰到中文或全形字元時,
畢竟它的主業不是編輯埃 建議你還是用ULTRA EDIT之類的工具編輯,KEIL用來編譯就可以了。
㈥ Keil2的編譯後 漢字的編碼是什麼規則
"我"的GBK編碼是 CEB2.
------------
"我"的內碼是 CED2。
在 P1、P2 顯示出來 CE、D2,並不難。
main()
{
unsigned char WO[] = "我";
P1 = WO[0];
P2 = WO[1];
while(1);
}
㈦ 我的keil編譯文字,總是出現亂碼,怎麼處理
KEIL的文字編輯功能很爛,尤其是碰到中文或全形字元時,畢竟它的主業不是編輯啊。
建議你還是用ULTRA EDIT之類的工具編輯,KEIL用來編譯就可以了。
㈧ keil5 漢字字元串內碼讀取錯誤
勞資遇到問題還更無語,MDK5不同文件的兩個字元串一個字元串的編碼是ANSI,一個字元串編碼是UTF-8,更無語的是我用prinf輸出幾次結果又恢復正常了。
㈨ keil 中的漢字編碼是什麼編碼
生成的編碼是UTF-8。你的編譯器的編碼方式設置不符合你的要求。 從主菜單依次點擊 Edit >> Configuration,在首個選項卡中將Encoding 從 UTF-8 改回 ANSI。
㈩ keil中文字元轉換錯誤
這是一個由來已久的老問題了,十多年過去了,Keil仍然沒有修正它……
自行上網搜索「Keil 0xFE 補丁」。