SoloCodigo
Programación Específica => Microcontroladores => Mensaje iniciado por: claudio123 en Martes 29 de Marzo de 2005, 23:41
-
Hola!!!!!!!! soy nuevo en este foro y la verdad que me acerco aqui para compartir información y aprender. Estoy trabajando con el PIC 16F874 y tengo problemas con las interrupciones por los pines RB4 y RB5 que actuan por cambio de estado.
Mi aplicación utiliza el timer que esta permanentemente haciendo algo, pero con las interrupciones necesito poder cambiar parámentros para que esa manera de trabajar del timer tambien cambie. Puntualmente tengo incrementos en una variable interna y lo que veo externamente desde el funcionamiento es que tomas mas incrementos de los que pulso externamente. También lei en una nota de aplicación que cuando la interrupcion genera un cambio(en mi caso arriba abajo y nuevamente arriba) con un ancho de tiempo largo, hay que demorar el clear de la bandera RBIF. No puedo emplear reatrdos porque arruino la tarea del timer. He probado de todo sin exito total, no logro que sea robusto el manejo de los cambios externamente.
Si alguien me puede indicar como asegurar que sea leida solo una de las interrupciones, se lo agradecere. Gracias y saludos para todos los miembros
-
Hola! Lo que puedes hacer es entrar siempre a la interrupción y ver que cambio se produjo, si es de 0 a 1 la atiendes, y si es de 1 a 0 la ignoras, por ejemplo.
Si lo que quieres es atender unos pulsadores, a lo mejor es mejor por polling; es decir sin interrupción, sino verificando el estado de los pulsadores periódicamente.
No te olvides que el micro es más rápido que la acción de los pulsadores, y que también puede haber ruidos y "rebotes". Cuando se detecta el pulsador, es bueno esperar unos microsegundos (algunos "NOP" o "GOTO $+1") y confirmar que realmente esté pulsado ;)
Generalmente, la atención de interrupciones tiene que ser breve; y fijarse bien los registros que se modifican, para no tener problemas.
Bueno, espero haber ayudado :)
Saludos!
-
Creo q esto iba posteado aca.....Microcontroladores (http://foros.solocodigo.com/index.php?act=SF&f=74) :unsure:
Salu2 a ambos..
Hao :hola: