我知道为什么不能输出汉字了,在keil里的中文是UTF-8的编码格式,一个汉字用16进制表示的话是三个举个例子吧
比如汉字“大”按照unicode转utf-8的编码规则,汉字使用3字节序列
所以套用三字节转换公式
0800 - FFFF
1110xxxx 10xxxxxx 10xxxxxx
其中用x代表的16位使用unicode相应的位来填充
0x5927转换为2进制0101 1001 0010 0111
填充到上面公式中的x中变成
11100101 10100100 10100111
用16进制表示为E5 A4 A7
而大的AIISC码用16进制表示的话就是B4F3
串口调试助手只能把AIISC码格式的16进制转换成汉字,不能把UTF-8类型的16进制汉字转换出来,所以才出现了乱码的现象
ls164013 发表于 2018-8-24 15:27
第一次用这个 复制粘贴 出了点意外
加个QQ吧 1561648283
聊聊你怎么发中文的
ls164013 发表于 2018-8-24 15:14
自己写一个printf输出函数,串口就可以打印中文了
你试试看啊
确认你的编码格式
可以用友善串口调试助手,没测试过Unicode能否显示,但是界面比这些都优美些。
你要换一个串口通讯的软件
feixiang20 发表于 2018-8-24 23:19
确认你的编码格式
编码格式没有问题,就是编译的时候应该是出的问题
stm1024 发表于 2018-8-25 08:21
你要换一个串口通讯的软件
跟串口通讯软件没有任何关系
JuSTDol 发表于 2018-8-25 07:05
可以用友善串口调试助手,没测试过Unicode能否显示,但是界面比这些都优美些。 ...
串口助手没有任何关系
hhhhhhhaa 发表于 2018-9-3 13:07
跟串口通讯软件没有任何关系
把你发送的字符串和接收到的字节发出来,我看看