Estoy tratando de leer datos del ADC y mostrarlos en una pantalla LCD compatible con HD44870 con un ATmega32. Como los datos del ADC son un entero sin signo de 10 bits, la pantalla LCD espera una cadena, es necesaria alguna conversión. A continuación se muestra la función que escribí para lograr esta conversión.
char *int_to_str(uint16_t num, uint8_t len){
uint8_t i;
char *str;
str[len]='char *int_to_str(uint16_t num, uint8_t len){
uint8_t i;
char *str;
str[len]='%pre%';
for(i=(len-1); i>=0; i--){
str[i] = '0' + num % 10;
num/=10;
}
return str;
}
';
for(i=(len-1); i>=0; i--){
str[i] = '0' + num % 10;
num/=10;
}
return str;
}
Sin embargo, la función anterior no funciona. Acabo de obtener una pantalla en blanco donde se deben mostrar los números. Actualmente estoy usando itoa () y funciona. Sin embargo, preferiría escribir el mío ya que el tamaño del ejecutable resultante es crítico. Gracias.