Escrito originalmente por micro_pepe
Hola, alguien me puede decir como pasar de ul long en decimal, a BCD en CCS.
En el manual que tengo no viene ninguna funcion.
Es para sacar los datos por un display.
Saludos y gracias.
Mira no se si alguien tenga una idea mejor, pero ahi va la mia:
char codigo_BCD[5];
int16 numero;
void main ()
{
int i=0,bcd[6];
.
.
.
sprintf(codigo_BCD,"%lu",numero);
for (i=0;i<=5;i++)
{
switch(codigo_BCD[ i])
{
case "0":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "1":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "2":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "3":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "4":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "5":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "6":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "7":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "8":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
case "9":{bcd[ i]=//introduce aqui el código bcd para el dysplay a utilizar;
brake;}
}
}
// El resultado de los códigos BCD estan bcd[0], bcd[1].................
}
Espero que te sirva de algo:
char mystring[20];
long mylong;
mylong=1234;
sprintf(mystring,"<%lu>",mylong);
// mystring agora tiene:
// < 1 2 3 4 >