把十进制数转换成bcd码
static unsigned int shi_to_bcd(shi_num) //如要把56转换成0x56
{
//先把5和6分开,在把5移位到bit4~bit7,所以是左移4位,6应该放在bit0~bit3,在将bit4~bit7和bit0~bit3进行或运算
return (((shi_num/10)<<4) | ((shi_num%10)<<0));
}
把bcd码转换成十进制
static unsigned int bcd_to_shi(bcd_num) //如要把0x56转换成56
{
return ((((bcd_num & 0xf0)>>4) * 10) + (bcd_num & 0x0f));
}
本文出自 “whylinux” 博客,请务必保留此出处http://whylinux.blog.51cto.com/10900429/1898816
S5PV210-arm裸机-RTC的BCD码和十进制互相转换
原文:http://whylinux.blog.51cto.com/10900429/1898816