使用QG8的Temperature Sense时,想把采集到的值转换成ASCII码,请问下面两种转换方法那种正确,有什么区别?谢谢了!
方法一:
char * num2asc(byte n) {
n_str[0] = (n>>0x04)+0x30;
if(n_str[0]>0x39)
n_str[0]+=0x07;
n_str[1] = (n&0x0f)+0x30;
if(n_str[1]>0x39)
n_str[1]+=0x07;
n_str[0]=((n_str[0]<<4)&0xF0)|(n_str[1]&0x0F);
n_str[1] = 0x00; // add null
return n_str;
} //end num2asc
/********************************************************/
方法二:
char *t_tt(int m)
{ byte mm=0;
mm=(m%100)/10;
mm=mm+0x30;
if(mm>0x39) // if mm is $a or larger...
mm+=0x07;
t_str[0]=mm;
mm=(m%10);
mm=mm+0x30;
if(mm>0x39) // if mm is $a or larger...
mm+=0x07;
t_str[1]=mm;
t_str[0]=((t_str[0]<<4)&0xF0)|(t_str[1]&0x0F);
t_str[1] = 0x00; // add null
return t_str;
}
|