问一个类型转换的问题
我在通过串口发数据的时候
比如byte ZwX[11],ZwY[11];
ZwX[11]=0x01;
ZwY[11]=0x02;
如果我现在的数据是X坐标,Y坐标,比如:
X=25;
Y=87;
我怎么转换成Hex发送出去呢?
IntToHex转换成是AnsiString类型的,不行
我又(Byte),(unsigned)都不行
[解决办法]
X=25;Y=87; 在内存里是数值,不明白还区分什么十进展,十六进制。
ZwX[0]=25; ZwY[1]=87; 发送ZwX[0; ZwY[1]; 不就行了。
IntToHex转换成是AnsiString表示成字符串类型好像是给我们视觉上看数值是多少。
难道你说的0x02,把'0'和'2'发生出去?
[解决办法]
这串口发数据10进制和16进制有什么区别?又不是BCD码
你就把25发过去,只要接收方以16进制显示,它自然会显示19h
[解决办法]
unsigned、int char 都可以发送
最终都是以byte送出去的,
你就直接发byte的数组就行了
[解决办法]
你这个坐标的取值范围是多少,如果0-255完全可以用一个byte搞定,如果大于这个数值就要转换一下,用多个字节了