遇到一个问题,想请教一下大家,谢谢了。
硬件方面,单片机和外围的CAN电路。
现在想实现的功能,编写程序,想通过CAN总线,把汉字发送出去,借助CAN转232,把发送的数据在电脑的串口助手上显示出来。
遇到的问题,当单片机发送数字和字母的时候,是正常的,但是发送汉字的时候显示是乱码。每个汉字都有对应GB2312码,我的发送程序如下:
canTxMessage.data[0]=0xe0f0;
canTxMessage.data[1]=0xe0f1;其中0xe0f0和0xe0f1,均为相应的汉字对应的GB2312码。
这样写程序,在串口助手上显示收到的数据是乱码。
查资料后,说是因为没有相应的字符芯片,所以单片机发送出来的数据是乱码,也有的说需要把汉字写到存储器里面。也有的说,如果发送汉字,直接把汉字放到字符串里面就可以。但是用双引号把汉字括起来之后,再向外发送,在电脑上显示的仍然是乱码。
编程方面很弱智,请大家帮帮忙。谢谢了。