Galera preciso converter um byte hexa em bcd no keil e não sei como fazer.
Tenho uma rotininha pronta em assembly que faz isto, mas tb não sei como misturar C com ASM no Keil.
Alguém pode me dá um help.
Abraços
Moderadores: 51, guest2003, Renie, gpenga
unsigned char Hex2Bcd(unsigned char hex_data)
{
unsigned int bcd_data;
unsigned char temp;
temp=hex_data%100;
bcd_data=((unsigned int)hex_data)/100<<8;
bcd_data=bcd_data|temp/10<<4;
bcd_data=bcd_data|temp%10;
return bcd_data;
}
unsigned char Bcd2Hex(unsigned char bcd_data)
{
unsigned char temp;
temp=((bcd_data>>4)*10)+(bcd_data&0x0f);
return temp;
}
unsigned char Hex2Bcd(unsigned char hex_data)
{
unsigned int bcd_data;
unsigned char temp;
temp=hex_data%100;
bcd_data=((unsigned int)hex_data)/100<<8;
bcd_data=bcd_data|temp/10<<4;
bcd_data=bcd_data|temp%10;
return bcd_data;
}
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante