Creo que además de lo que te ocurre y es que si bien evalúas si el presostato indica lleno si es que no llegase a indicar lleno aún así inicias el ciclo de lavado.
Tal vez podrías acomodar el código y probar algo así...
Para este caso el switch de encendido debería ser un pulsador.Código: C
unsigned char pasadas; while(true) { if (input(PIN_A1) == 1) // boton de encendido { do { activar llenado while (input(PIN_A4 != 1)); //espera al presostato desactivar llenado comenzar ciclo de lavado retardo necesario output_b(0x00); retardo necesario comenzar centrifugado retardo necesario output_b(0x00); pasadas--; //decremento variable pasadas } while (pasadas > 0); } pasadas = 2; }
Creo que además de lo que te ocurre y es que si bien evalúas si el presostato indica lleno si es que no llegase a indicar lleno aún así inicias el ciclo de lavado.
Tal vez podrías acomodar el código y probar algo así...
Para este caso el switch de encendido debería ser un pulsador.Código: C
unsigned char pasadas; while(true) { if (input(PIN_A1) == 1) // boton de encendido { do { activar llenado while (input(PIN_A4 != 1)); //espera al presostato desactivar llenado comenzar ciclo de lavado retardo necesario output_b(0x00); retardo necesario comenzar centrifugado retardo necesario output_b(0x00); pasadas--; //decremento variable pasadas } while (pasadas > 0); } pasadas = 2; }
Muchas gracias por la ayuda ((:-))
La verdad me sirvió mucho, claro que al comienzo no me funcionaba muy bien y me di de cuenta que había un paréntesis mal ubicado
while (input(PIN_A4) != 1); //espera al presostato
Pues lo corregí y funciona de perlas………
Muchas gracias.