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 补丁”。