16進制按字面意思轉換成字符串(互轉) 複製就能用

//==========================================================
//	函數名稱:	CharAsBcd
//
//	函數功能:	將16進制數字按字面意義轉化爲字符串
//
//	入口參數:	*des  輸出的數據
//				*src  輸入的數據
//				len   輸入數據的長度
//	返回參數:		
//				
//
//	說明:	
//==========================================================
void BcdAsChar(char *des,char *src,char len)	
{
		uint8_t i;
		for(i=0;i<len;i++)
		{
				des[i*2]=(src[i]>>4)+'0';
				des[i*2+1]=(src[i]&0x0f)+'0';
		}
		for(i=0;i<2*len;i++)
		{
			if(des[i]>0x39)
				des[i]+=7;
		}
}


//==========================================================
//	函數名稱:	CharAsBcd
//
//	函數功能:	將字符串轉換爲16進制數據
//
//	入口參數:	*des  輸出的數據
//				*src  輸入的數據
//				len   輸入數據的長度
//	返回參數:		
//				
//
//	說明:	
//==========================================================
void CharAsBcd(char *des,char *src,char len) 
{
	uint8_t i;
	for(i=0;i<len;i++)
	{
		if(src[i]>0x39)
				src[i]-=7;
	}
	for(i=0;i<len/2;i++)
	{
		des[i]=(src[i*2]-'0')*16+src[2*i+1]-'0';	
	}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章