• Sábado 16 de Noviembre de 2024, 23:24

Autor Tema:  Interrupciones Por Puertob  (Leído 1603 veces)

claudio123

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Interrupciones Por Puertob
« en: Martes 29 de Marzo de 2005, 23:41 »
0
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

Huguen_aus_Tirol

  • Miembro MUY activo
  • ***
  • Mensajes: 318
    • Ver Perfil
    • http://www.erhard-automation.co.cc
Re: Interrupciones Por Puertob
« Respuesta #1 en: Miércoles 30 de Marzo de 2005, 19:03 »
0
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!

Hao

  • Moderador
  • ******
  • Mensajes: 376
  • Nacionalidad: gt
    • Ver Perfil
Re: Interrupciones Por Puertob
« Respuesta #2 en: Jueves 31 de Marzo de 2005, 20:05 »
0
Creo q esto iba posteado aca.....Microcontroladores   :unsure:

Salu2 a ambos..

Hao :hola:


[/size]