如果:
printf("系統初始化正常 hello word : %u\r\n",Cnt++);
換成:
SendString("\r\n系統初始化正常 hello word : ");
printf("%u",Cnt++);
是不會出現亂碼的。
所以,問題不在字符串,不在漢字,也不在編譯器,而是:
在明知KEIL C51 的 printf 不支持漢字,還非要用printf 發送漢字,就算沒有現成的SendString,自己寫一個
void SendString(char *p)
{
while(*p) SendUart(*p++);
}
就那么一句話的函數,很難么?
|