从串口接收Ascii值带零的字符串,为什么一到0的值处就断开呢
从串口接收Ascii值带0的字符串,为什么一到0的值处就断开呢?
从串口助手发送十六进制数过来:
A1 B2 00 0F D1 0E E7 03 78 0F 00 83 00 00 00 00 EC
只收到
A1 B2
到ascii为0处就作为字符串结束。
------解决方案--------------------
因为#0是pchar字符串的结尾符
从串口助手发送十六进制数过来:
A1 B2 00 0F D1 0E E7 03 78 0F 00 83 00 00 00 00 EC
只收到
A1 B2
到ascii为0处就作为字符串结束。
procedure TForm1.CommTSReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
s:Pchar;
begin
s:=buffer;
edit1.text:=s;
end;
------解决方案--------------------
因为#0是pchar字符串的结尾符