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';	
	}

}

 

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