求帮助,数据正确显示,在线等!
//读串口数据
moveto(7,1);putstr("接收:");
for(i=0;i<10;i++)
if(comstate())
{ s[0]=combuf();moveto(7,6);s[0]='0'+(s[0]>>4);putch(s[0]);s[1]='0'+(s[0]&0x0F);putch(s[1]);}
k=key(0); if(k==KEY_CLS) return 0;
从combuf得到一个十六进制数,但要在一个下设备上字符显示,想要分离这个十六进制数的各位,s[0],s[1]相当于高位和低位,但显示还是不对,如发送 86 得到88 发送43 得打44,只能得到高位字节,请教各位大虾,为什么
[解决办法]
你都修改了s[0]的值了,怎么还把它用作原值呢?
- C/C++ code
moveto(7,1);putstr("接收:");unsigned char stmp;for(i=0;i<10;i++)if(comstate()) { s[0]=combuf();stmp = s[0]; moveto(7,6);s[0]='0'+(s[0]>>4);putch(s[0]);s[1]='0'+(stmp&0x0F);putch(s[1]);}k=key(0); if(k==KEY_CLS) return 0;