EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机中unsigned char转字符串的方法: x. V9 U( ~4 t1 d9 v
2 y2 Y; w2 } a3 F" ?; p9 k6 N3 ^6 k% ?( |3 m' v7 v+ ?0 @0 W* s
在单片机中,常用到数字与字符的方法,在C中都是使用itoa函数,C51也有这个函数,但是,8051的RAM是很有限的,所以尽量避免使用int型,常用的是unsigned char。当需要转换成字符串时用itoa的话,还是有点浪费。还是自力更生,自己写了一个,代码如下: typedef unsigned char BYTE; BYTE * ByteToStr(BYTE n) { BYTE str[4]; BYTE * pStr; pStr = str; if (n>99) { *pStr = n/100; n %= 100; *pStr += '0'; pStr ++ ; *pStr = n/10; n %= 10; *pStr += '0'; pStr ++ ; } if (n>9) { *pStr = n/10; n %= 10; *pStr += '0'; pStr ++ ; } if (n<10) { *pStr = n + '0'; pStr ++; } *pStr = 0; return str; } 用了5Byte内存,不知是否精简,先用着再说!String 转 unsigned char的要反过来先减'0'再乘,不过要检查是否小于等于255。等写好了再放上来. + a2 A2 e5 o o$ \$ [* c
|