TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Rufus en 03 de Mayo de 2021, 01:09:38
-
Buenas noches amigos del foro. necesito de su ayuda. acabo de elaborar una tarjeta para el control de monedas de un despachador el detalle es que no logro hacer que la moneda ingresada se imprima directamente en la pantalla sino se imprime de manera ascendente
while (true){
if(input(pin_b3)==0)
{
pulso_monedero=1;
}
if(input(pin_b3)==1 && pulso_monedero==1) //¿ha entrado 1 moneda?
{
pulso_monedero=0;
pesos++; //incremento contador
delay_ms(10); //SI -> retardo para evitar los rebotes
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("Cant. Ingresada");
lcd_gotoxy(2,2);
printf(lcd_putc,"$:%u",pesos); // el problema es que la variable incrementa en la pantalla y lo que requiero es q solo muestre
el valor de moneda ejemplo si ingresa $10 pesos imprima directamente $10 y no se
muestre 1,2,3,4,5,6,7,8,9,10 asta llegar al valor. y he notado que mientra hace el conteo su
sumen un boton de producto se corta el conteo y no registra el valor ingresado.
}
if (input(PIN_B7)==0 && pesos>=precio1) {
delay_ms(120);
entregar_producto1();
}
if (input(PIN_B6)==0 && pesos>=precio2) {
delay_ms(120);
entregar_producto2();
}
}
espero me puedan orientar. gracias.
-
Hola, al parecer tú no has hecho el código, pero en fin.
Si el importe siempre será el mismo, entonces modifica ésta línea:
printf(lcd_putc,"$:%u",pesos);
Por ésta línea.
printf(lcd_putc,"$:10");
Lo que no veo es en que parte se borra el monto ingresado. Quizás en otra parte del código...