异步串行通信怎么传送汉字的?
发布网友
发布时间:2022-05-16 08:37
我来回答
共1个回答
热心网友
时间:2023-10-17 00:09
串口通讯的灵活性相当大,你可以直接传送bit位,也可以通过控件进行传送。楼主这么问有点让我不解。你是想问通过控件传送汉字,还是自己控制传送汉字?如果是控件传送,你就不必过多考虑了,一般是转化为双字节二进制数,然后按比特位传送,可以定义是否有结束标志等。如果是自己控制传送,那就更简单了,你也可以按照上面说的传送,也可以自己定义,传送1是“我”,2是“你”,只要你有对应的字典即可。
串口是可以直接发汉字的,你不能发汉字是因为你发送和接受时不是用的pchar类型。
当然你用byte也是可以发汉字的,只不过需要转换一下!比如下面的代码:
var
ss:string;
begin
ss:=#215#214#183#251#180#174#208#197#207#162;
ShowMessage('ss');
end;
你可以将215/214/183...这些数字发过去,然后再发个0过去表示结束标志,对方收到直接赋给string变量(比如上例中的s变量)使用就是汉字了。追问谢谢你的回答,这个是我们异步串行通信的实验,数据位有5、6、7、8.可以发送接收汉字,数字,字母。汉字的发送有点不明白。但还是很谢谢哈。