Saludos
Soy nuevo en cuanto programación C y arduino se refiere. Estoy usando el arduino para casi cualquier cosa que se me ocurra y por el momento quiero mostrar en 6 display 7 segmentos el valor de una variable long.
He realizado esta subrutina, donde recibo la variable y la desgloso en ocho digitos, de los cuales en realidad uso seis para mostrar. Mi duda es hay otra forma de realizar esta accion con menos lineas???
Nota: la subrutina funcionan al 100%
void longtodig(unsigned long valor){
digito[7] = valor /10000000;
digito[6] = (valor /1000000)-(digito[7]*10);
digito[5] = (valor /100000)-(digito[7]*100)-(digito[6]*10);
digito[4] = (valor /10000)-(digito[7]*1000)-(digito[6]*100)-(digito[5]*10);
digito[3] = (valor /1000)-(digito[7]*10000)-(digito[6]*1000)-(digito[5]*100)-(digito[4]*10);
digito[2] = (valor /100) -(digito[7]*100000)-(digito[6]*10000)-(digito[5]*1000)-(digito[4]*100)-(digito[3]*10);
digito[1] = (valor /10)-(digito[7]*1000000)-(digito[6]*100000)-(digito[5]*10000)-(digito[4]*1000)-(digito[3]*100)-(digito[2]*10);
digito[0] = valor-(digito[7]*10000000)-(digito[6]*1000000)-(digito[5]*100000)-(digito[4]*10000)-(digito[3]*1000)-(digito[2]*100)-(digito[1]*10);
if (valor < 100000){digito[5]= 15;}
if (valor < 10000){digito[4]= 15;}
if (valor < 1000){digito[3]= 15;}
if (valor < 100){digito[2]= 15;}
if (valor < 10){digito[1]= 15;}
}