PROGRAMAR_TIEMPO
MOVLW .5
MOVWF CONTA
BTFSC PULSA_STOP
GOTO PROGRAMAR_TIEMPO
CALL Retardo_1s
DECFSZ CONTA,F
GOTO $-4
LED_ON
SLEEP char conta;
goto PROGRAMAR_TIEMPO;
do {
if (PULSA_STOP == 1) {
PROGRAMAR_TIEMPO:
conta = 5;
};
Retardo_1s()
} while (--conta);
LED_ON()
Sleep();
__delay_ms(200);Agradesco mucho las respuestas y les aseguro que voy a leer muy cuidadosamente cada una de las soluciones pues es mi deseo aprender C y como dice Picuino realmente lo que mas extraño es mi adorado GOTO aunque los doctos en el tema señalen un nivel bajo de pensamiento su uso en C. Y me alegro que haya alguilen que lo defienda ((:-))
char conta;
goto PROGRAMAR_TIEMPO;
do {
if (PULSA_STOP == 1) {
PROGRAMAR_TIEMPO:
conta = 5;
};
Retardo_1s()
} while (--conta);
LED_ON()
Sleep();
Entre Switch e IF es un tema a tener en cuenta en los microcontroladores. En ocasiones he visto que genera menos código dejar sentencias IF-ELSE en lugar de SWITCH-CASE.
Entre Switch e IF es un tema a tener en cuenta en los microcontroladores. En ocasiones he visto que genera menos código dejar sentencias IF-ELSE en lugar de SWITCH-CASE.
¿ Has hecho la comparativa, utilizando la optimización del compilador ?, sin optimización, los resultados pueden ser muy dispares.