Pr 7 Ejercicio 7

Re: Pr 7 Ejercicio 7

de Federico Rivero -
Número de respuestas: 0
Agustín,

Qué tal? El problema se puede resolver con menos líneas que en el video, definitivamente, la solución que se presenta ahí intenta ser más bien didáctica. Pero habiendo dicho eso, tu solución tiene algunos problemas:

1) Una vez que llegás a los 300 segundos lo que se dice es que se debe cerrar la válvula de forma permanente, es decir, no se debe encender nuevamente si la concentración de gas ya no es peligrosa (se debe esperar un reset del sistema). Estando la válvula cerrada, no tiene sentido seguir encendiendo y apagando el extractor porque ya no habrá escape de gas, es decir, las primeras líneas se deberían omitir de ahí en adelante.

2) Me parece que tenés al revés algunos | y &. En el if de click == 300, deberías cerrar la válvula, y eso se logra poniendo un 0 en el bit 1 de ACCESORIO, en tu caso hacés un |, lo cual solo aplica para encender bits.

3) No termino de entender los valores que le estás poniendo a las máscaras, en la línea siguiente al 'else', hacés IN(ACCESORIO) & 0xA98AC6 (eso es lo que llego a leer), lo cual es un número de 24bits (3 bytes), y el puerto ACCESORIO tiene 1 solo byte, por lo cual no le encuentro sentido a esa máscara. Capaz la estoy entendiendo mal, qué quisiste hacer en esa línea? Comentame y la seguimos.

Saludos!
Federico