Diferencia entre revisiones de «C12 - Interrupts»

De Proyectos
Ir a la navegación Ir a la búsqueda
Línea 5: Línea 5:
*La interrupción se "dispara" (trigger) a través de una acción del hardware
*La interrupción se "dispara" (trigger) a través de una acción del hardware
Interrupt Setup ritual
Interrupt Setup ritual
*Arm device - Se activa el device (externo o interno) que activará la interrupción
*Arm/Disarm
*Enable NVIC (Nested Vectored Interrupt Controller) - Es un módulo que controla todas las interrupciones se activa el NVIC específico para el device que usaremos
**Arm - Permite al hardware hacer trigger a la interrupción
*Global enable bit I - Este bit se activa haciendo un clear. Este bit activa y desactiva todas las interrupciones
**Disarm - Deshabilita la función de trigger
*Priority - No se si se refiere a la prioridad del device al thread principal o a que puede haber varias devices por interrupción y cada una tiene una prioridad
**Cada interrupción tiene un bit de arm/disarm
*Enable NVIC (Nested Vectored Interrupt Controller)
**Es un módulo que controla todas las interrupciones. Se activa el NVIC específico para el device que usaremos
**Para deshabilitar hacemos un set al bit PRIMASK
**En C hay las funciones EnableInterrupts() y Disable Interrupts() para activar/desactivar las interrupciones
*Global enable bit I
**Este bit se activa haciendo un clear. Este bit activa y desactiva todas las interrupciones
**Si el bit es 1 muchas de las interrupciones no están permitidas, estan disable
*Priority
**No se si se refiere a la prioridad del device al thread principal o a que puede haber varias devices por interrupción y cada una tiene una prioridad
**El registro BASEPRI controla la prioridad de las interrupciones
*Trigger - Es un evento asincrono. Es el encargado de activar el device que activa la interrupción. En el registro RIS hay un bit que nos indica que ha habido un trigger.
*Trigger - Es un evento asincrono. Es el encargado de activar el device que activa la interrupción. En el registro RIS hay un bit que nos indica que ha habido un trigger.
Vocabulario
5 condiciones que han de ser true para que una interrupción sea generada
*Arm/Disarm
*Device arm
**Arm - Permite
*NVIC enable
*Global enable
*Prioridad de la itnerrupción actual ha de ser superior al nivel actual
*Hardware event trigger
La interrupción causa 5 eventos
 
<br>
<br>

Revisión del 07:13 7 abr 2015

Interrupt Concepts


  • Es cuando se suspende temporalmente la ejecución del programa para ejecutar una subrutina
  • Cuando acaba la interrupción se vuelve a reanudar la ejecución donde se habia quedado
  • La interrupción se "dispara" (trigger) a través de una acción del hardware

Interrupt Setup ritual

  • Arm/Disarm
    • Arm - Permite al hardware hacer trigger a la interrupción
    • Disarm - Deshabilita la función de trigger
    • Cada interrupción tiene un bit de arm/disarm
  • Enable NVIC (Nested Vectored Interrupt Controller)
    • Es un módulo que controla todas las interrupciones. Se activa el NVIC específico para el device que usaremos
    • Para deshabilitar hacemos un set al bit PRIMASK
    • En C hay las funciones EnableInterrupts() y Disable Interrupts() para activar/desactivar las interrupciones
  • Global enable bit I
    • Este bit se activa haciendo un clear. Este bit activa y desactiva todas las interrupciones
    • Si el bit es 1 muchas de las interrupciones no están permitidas, estan disable
  • Priority
    • No se si se refiere a la prioridad del device al thread principal o a que puede haber varias devices por interrupción y cada una tiene una prioridad
    • El registro BASEPRI controla la prioridad de las interrupciones
  • Trigger - Es un evento asincrono. Es el encargado de activar el device que activa la interrupción. En el registro RIS hay un bit que nos indica que ha habido un trigger.

5 condiciones que han de ser true para que una interrupción sea generada

  • Device arm
  • NVIC enable
  • Global enable
  • Prioridad de la itnerrupción actual ha de ser superior al nivel actual
  • Hardware event trigger

La interrupción causa 5 eventos