TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: DavidtXz en 16 de Abril de 2020, 16:28:25

Título: ¿Cuantas Interrupciones se pueden habilitar AL MISMO TIEMPO en el Pic18F4550?
Publicado por: DavidtXz en 16 de Abril de 2020, 16:28:25
.
Título: Re:¿Cuantas Interrupciones se pueden habilitar AL MISMO TIEMPO en el Pic18F4550?
Publicado por: elreypic2 en 16 de Abril de 2020, 16:29:59
Se pueden habilitar TODAS al mismo tiempo, pero NO se pueden ejecutar dos o más al mismo tiempo.

elreypic.
Título: Re:¿Cuantas Interrupciones se pueden habilitar AL MISMO TIEMPO en el Pic18F4550?
Publicado por: DavidtXz en 16 de Abril de 2020, 16:31:22
Asi se usen con prioridades?
Título: Re:¿Cuantas Interrupciones se pueden habilitar AL MISMO TIEMPO en el Pic18F4550?
Publicado por: DavidtXz en 16 de Abril de 2020, 16:38:52
Creo que me falto formular algo en la pregunta ¿Cuantas interrupciones se pueden ejecutar AL MISMO TIEMPO en este PIC?
Título: Re:¿Cuantas Interrupciones se pueden habilitar AL MISMO TIEMPO en el Pic18F4550?
Publicado por: remi04 en 16 de Abril de 2020, 18:05:48
los pic18 tienen dos vectores de interrupción.

  Uno es el de alta prioridad y el otro el de baja.

  Como en todos los casos, tú puedes tener todas las fuentes de interrupción del pic habilitadas si quieres. Cualquiera que salte irá al vector de baja prioridad por defecto. . Aquí tendrás que chequear las banderas, ver cuál es la que ha saltado y ejecutar el código que le corresponde.

 Convencionalmente mientras se está atendiendo una interrupción no se puede producir otra por que tendrías recursividad en el handler de interrupción. Pero.............. 

  Los pic18 al tener un segundo vector, tú puedes decirle que si un determinado periférico (o varios) provocan una interrupción mientras se estaba atendiendo otra, pues que sale a un segundo handler. 

 Es decir, que una rutina de interrupción de baja prioridad puede ser interrumpida por otra de alta prioridad. Cuando termine la prioritaria se continúa atendiendo la rutina de baja prioridad.

  Para que esto sea posible hay que definir mediante unas macros cuáles van a ser los periféricos que irán a alta prioridad y cuáles van a los de baja prioridad y además hay que habilitar el registro RCONbits.IPEN=1 para habilitar los dos vectores y poder usar prioridades.  levels). También:

INTCONbits.GIEH=1
INTCONbits.GIEL=1




  Saludos.
Título: Re:¿Cuantas Interrupciones se pueden habilitar AL MISMO TIEMPO en el Pic18F4550?
Publicado por: KILLERJC en 16 de Abril de 2020, 20:16:16
Creo que me falto formular algo en la pregunta ¿Cuantas interrupciones se pueden ejecutar AL MISMO TIEMPO en este PIC?

En este PIC, ni en ningun otro, Todos tienen prioridades, a no ser que tenga mas de un nucleo, lo cual es "raro" en los microcontroladores normales, entonces unicamente vas a poder ejecutar una interrupcion a la vez.
Si estas en una interrupcion y ocurre otra de mayor prioridad, la interrupcion de baja prioridad se queda esperando hasta que termine la de mayor prioridad.