当学到RTC时,它是BCD码格式,所以我们想要读取和显示出来就得转换成10进制。刚开始想到装换是首先会想到"itoa"和"sprintf"函数,但发现好像在这里行不通,于是,我们可以自己写c语言函数来对它进行装换。话不多说,下面直接上程序,希望对你们有帮助。
/***********************************************************************************************
*功能:RTC16进制转为10进制
*入口参数:需要转换的BCD数
*出口参数:无
*返回值:转换完成的10进制值
*创建时间:2019年9月1日
*创建人:daode
************************************************************************************************/
u8 RTC_BCD_TO_TEN(u8 val)
{
u8 temp=0;
temp=(val>>4)*10;
return (temp+(val&0x0f));
}
/***********************************************************************************************
*功能:RTC10进制转为16进制
*入口参数:需要转换的10进制数
*出口参数:无
*返回值:转换完成的BCD值
*创建时间:2019年9月1日
*创建人:daode
************************************************************************************************/
u8 RTC_TEN_TO_BCD(u8 val)
{
u8 high&