ICTL

Controllo degli interrupt

L'istruzione ICTL imposta tutti gli interrupt su abilitato o disabilitato. Ogni qualvolta viene eseguita l'istruzione ICTL, è possibile impostare parametri quali il tipo e la validità dei programmi di interrupt. Le impostazioni possono essere specificate tramite s1_Control e s2_Condition.

  • s1_ControlCostante equivalente a 16 bit o area a 16 bit per l'impostazione di controllo degli interrupt

  • s2_ConditionCostante equivalente a 16 bit o area a 16 bit per l'impostazione della condizione trigger degli interrupt

Parametri

Ingresso

s1_Control (WORD, INT, UINT)

Impostazione del dato di controllo di interrupt

s2_Condition (WORD, INT, UINT)

Impostazione della condizione di interrupt

Note

Il numero di programmi di interrupt disponibili è:

16

programmi di interrupt avviati da moduli di interrupt (INT 0–INT 15)

8

programmi di interrupt avviati da moduli avanzati (moduli speciali, come posizionamento, ecc.) (INT 16–INT 23)

1

programma di interrupt periodico (INT 24) (Base tempo 0,5ms selezionabile per FP2/2SH, FP10SH)

Assicuratevi di utilizzare le istruzioni ICTL in maniera tale che vengano eseguite una volta sul fronte di salita del trigger ICTL utilizzando l'istruzione DF Differenziale fronte di salita.

Due o più istruzioni ICTL possono avere lo stesso trigger.

Bit

15 .. 8

7 .. 0

s1_Control

16#

Selezione della funzione di controllo

00: Controllo interrupt "abilitato/disabilitato"

01: Controllo di reset trigger interrupt

Selezione del tipo di interrupt

00: Modulo di interrupt (INT 0–15)

01: Modulo avanzato (INT 16–23)

02: Interrupt periodico (INT 24)

s2_Condition

2#

Bit 0: 0 Programma di interrupt 0 disabilitato

Bit 0: 1 Programma di interrupt 0 abilitato

Bit 1: 0 Programma di interrupt 1 disabilitato

...

Bit 15: 1 Programma di interrupt 15 abilitato

Esempio: s2 = 2#0000000000001010

NOTA
  • Lo stato di abilitazione/disabilitazione attuale di ogni interrupt avviato da modulo di interrupt può essere controllato monitorando la variabile di sistema sys_wInterruptMask_0_15.

  • Lo stato di abilitazione/disabilitazione attuale di ogni interrupt non avviato da modulo di interrupt può essere controllato monitorando la variabile di sistema sys_wInterruptMask_16_31.

  • L'intervallo di interrupt attuale dell'interrupt periodico può essere controllato monitorando la variabile di sistema sys_iPeriodicInterruptInterval.

  • Se un programma viene scritto in un task di interrupt, l'interrupt interessato verrà abilitato automaticamente durante la routine di inizializzazione all'avvio del programma.

  • Con l'istruzione ICTL, un task di interrupt può essere abilitato o disabilitato dal programma.

L'ultima revisione: 2022-02-01Feedback su questa paginaPanasonic hotline