闡述單片機中unsigned char轉字符串有什么方法
片機中,常用到數字與字符的方法,在C中都是使用itoa函數,C51也有這個函數,但是,8051的RAM是很有限的,所以盡量避免使用int型,常用的是unsignedchar。當需要轉換成字符串時用itoa的話,還是有點浪費。還是自力更生,自己寫了一個,代碼如下:
typedefunsignedcharBYTE;
BYTE*ByteToStr(BYTEn)
BYTEstr[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;
returnstr;
用了5Byte內存,不知是否精簡,先用著再說!String轉unsignedchar的要反過來先減'0'再乘,不過要檢查是否小于等于255。等寫好了再放上來.
電氣工程推薦