Me gustaria saber si trabajais con una opcion mas elegante que estos bucles o llamadas de variables muy personalizadas,
Interrupciones... Los retardos lo unico para que los veo necesario es cuadno tengo algo secuencial por ejemplo un LCD y tengo que cumplir los tiempos del LCD. Y donde el uso de un timer termina siendo un poco absurdo o irrealizable.
Un delay de 8 segundos te dejaria haciendo al micro 8 segundos de
nada. no tiene sentido para nada. O usas un timer interno o usas un circuito externo con algun valor para que luego te de 8 segundos el contar varias veces.
Alguna idea?
Si queres usar ese mismo codigo definido en xc.h, lo que se me ocurriria es preguntar si se supero el limite de tiempo. Tenes que hacerte una nueva funcion.
void DelayMs( unsigned long x) {
while ( x > 150 ) {
x -= 150;
__delay_ms(150);
}
__delay_ms(x);
}Se me ocurre algo asi... basicamente limitar a 150 el __delay_ms y repetirlo las veces que sean necesarias. Lo escribi ahora seguro que tiene un error. El error que me imagino es el de cuando la frecuencia aumenta, los ciclos tambien, por lo tanto ese 150 tendria que ser mucho mas chico, de todas formas si le pones 10 y no 150 va a andar igual.