串口通信中数据类型转换的问题 怎么得到0xA5形式的数据?

在串口通信的时候,
1、如果我要发一组数据 如0xA5 0x5A 0xF2...0xE3 其中0x..都是一个字节的数据 那么我发送的时候 是不是可以这样做 char SendData[0]=0xA5;
然后发送?
2、这样的话我接收到的不是这种形式的请问各位大侠,怎么能在得到0xA5这种同样形式的数据?

0xA5这类是16进制数的.....说..16进制数那也还是数....每两位(就是8位的二进制)占一个字节....所以SendData[0]=0xA5是成立的..

第二个问题我觉得你的意思是将接收到的数据传换成可以显示的16进制的0xFF这种格式.....呐..接收到的数据类型是Byte..范围0~255(就是16进制的0x00~0xFF)....而用来显示的类似"0xFF"格式的是字符串形式....所以写一个转换函数就可以.~~
(我常用的是C++Builder..里面直接有个现成的IntToHex函数- -``` VC好像需要自己写个....懒得动手了......需要我帮你写的话加我Q...531623560..我明天考试- -`` 呃...嗯..就这样.~)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-02
1.你这么做应该是可以的
static char SendData[]={0xA5,0x5A ,0xF2};

2.接收时只要定义的数据类型相同,接收后还是这种形式。
第2个回答  2008-07-02
1、可以,也可以声明为BYTE数组。
2、发送和接收都是一串buffer,接收到之后转换成数组,再读。
相似回答