TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: micro_pepe en 22 de Enero de 2006, 14:41:00
-
Hola, tengo una duda de como funciona la interrupcion por cambio de estado de los pines.
Suponiendo que todas las patas estan a 1, si una de ellas se pone a cero, ¿se produce interrupcion?. Borramos el flag, y si la misma pata se pone a 0, ¿se produce de nuevo interrupcion?.
Saludos y gracias.
-
Hola amigo
Hay varios tipos de interrupciones por el cambio de estado en RB0 si en este pin se produce un cambio de estado se produce una interrupción, otro es el desbordamiento del TMR0 (estoy hablando del 84a) si supera FF entonces hay interrupción, otro es por cambio en las entradas desde RB4 a RB7 si algunas de ellas cambia de estado hay interrupción.
Todas esas int se pueden configurar en el registro INTCON y OPTION
Saludos
-
Me refiero a las entradas desde RB4 a RB7 , no se si la interrupcion se produce con cualquier cambio en las entradas, o solo si una de ellas cambia cuando el resto estan a 1 o a 0.
Saludos.
-
La interrupcion RB4-RB7 salta en cada cambio de estado, ya sea de nivel bajo a alto o al reves. Luego ya si quieres que salte solo en un flanco lo tendras que hacer por soft.
Salu2
-
Escrito originalmente por micro_falo
Me refiero a las entradas desde RB4 a RB7 , no se si la interrupcion se produce con cualquier cambio en las entradas, o solo si una de ellas cambia cuando el resto estan a 1 o a 0.
Saludos.
Es por diferencia entre el último valor leido y el actual. Para que la interrupción salte otra vez, debes hacer 2 cosas.
Si en la entrada tienes 0x7F y luego tienes 0xCF salta la interrupcion.
1) Leer el PORTB para que la condición de diferencia se elimine (mismatch condition).
2) Borrar el flag de la interrupcion
Luego puedes seguir detectando el cambio.