c++builder中,用MSCOMM32控件来收串口数据,上位机接显示的都是ASCII码,请问如何显示
如题,请用过的高手帮忙回答一下,迷惑了好久了! sprintf 函数 俺是这样解决的char HEX[] ={"0123456789ABCDEF"};
ListBoxMain->Items->Add(String("")+ "0x" + HEX>>4] + HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4]+ HEX & 0x0F] + ","
+ "0x" + HEX>>4] + HEX & 0x0F] + ","
+ "0x" + HEX>>4] + HEX & 0x0F] + ","
+ "0x" + HEX>>4] + HEX & 0x0F] + ","
+ "0x" + HEX>>4] + HEX & 0x0F] + ","
+ "0x" + HEX>>4] + HEX & 0x0F] + ","
+ "0x" + HEX>>4] + HEX & 0x0F]); 那么如何显示十进制数或者符点数? 请问是不是所有的控件(MSCOMM,SPCOMM,COMPORT)接收到的单片机发来的十六进制数据都是ASICC码,那么要想显示实际单片机发来的数值,比如十进制或者浮点数是不是都要处理?如何处理?谢谢 恐怕都得自己转,或者在下位机转,其实都差不多
你的头像很红很暴力 好的,谢谢,.ASCII码有没有转成十六进制的好的方法?比如公式什么的?看到二楼的一大串,就没勇气看完/ 俺懒,为了省事,你写个子函数就不长了 呵呵,谢谢楼上的,能请你解释一下吗?
plainttext>>4 + plainttext & 0x0F是什么意思?
刚学不懂你写的意思?谢谢 unsigned char Buf;
//16进制
IntToHex(Buf,2)
//10进制
IntToStr(Buf)
//10字符
本身就是
显示的话直接往一个ansistring上加,然后在memo什么的add AnsiString s;
s += IntToHex(TmpData,2); //转为16进制 mark mark 已经搞定了,谢谢各位帮忙,
页:
[1]