Estimados, tengo un problema aver si alguno le paso. Estoy programando en C (y algunas Funciones minimas de C++) sobre una placa STM32f013 , que es parecida a una arduino, un poco mas potente y con pantalla tactil.
Tengo unos botones que suman o restan sobre una variable tipo int.
Cuando oprimo el boton , lo hace bien, cuando suma o resta, el tema esta en que cuando tengo 11 , le resto 1, y me muestra en pantalla 10, ok, uno menos y me aparece 90
si sumo o resto lo hace bien, lo que pasa es que el digito 0 no lo borra, queda cargado con cero, si le sumo uno vuelve a 10 bien.
el codigo seria algo asi :
Código:
int valor=0;
char varPantalla[3];
valor=14;
void Bton_LCD_Dwn(u8 index){
if (index==1){
if(valor>=0){
valor=valor-1;
strcpy(varPantalla,"");
itoa(valor,varPantalla,10);
}
}
}
Sinteticamente es eso, despues la rutina que dibuja la pantalla dibuja y muy bien un monton de otros datos y controles, solo esto es lo que me falta y no puedo hacer que cuando este en 10 , me quede en 9 y no en 90.
Alguien me tira una soga? gracias
A mi me funciona bien no se cual es tu problema quiza necesitas especificar mejor tu pregunta para poder ayudarte saludos
yo probe esto
#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int valor=14;
char varPantalla[3];
void Bton_LCD_Dwn(int index){
if (index==1){
if(valor>=0){
valor=valor-1;
strcpy(varPantalla,"");
itoa(valor,varPantalla,10);
}
}
printf("%d",valor-1);
}
int main(){
Bton_LCD_Dwn(1);
return 0;
}
Gracias por tu respuesta.
El tema es que no puedo usar printf por que es una placa parecida a arduino, algo mas potente , el IDE es Keil .
Yo tomo desde el Array el valor, por eso lo convierto y cargo en la variable
Antes de cargarla , vacio el Array, en todo el codigo lo hago muchas veces sin problemas. El problema es que el INT del valor , parece que quedara cuando esta con 2 digitos cargado con dos espacios y cuando le resto 1 , el valor es 9 , pero deja un 0 en el espacio, como si fuera un array
seguire buscando
Gracias de todos modos