Interrupt

 

Der Controller stellt eine Vielzahl an Interrupts zur Verfügung. Einige davon werden für Systemfunktionen verwendet und stehen dem Anwender nicht zur Verfügung. Folgende Interrupts können vom Anwender genutzt werden:

 

Tabelle Interrupts

 

Interrupt Name

Mega32

Mega128 (CAN)




INT_0

externer Interrupt 0

externer Interrupt 0

INT_1

externer Interrupt 1

externer Interrupt 1

INT_2

externer Interrupt 2

externer Interrupt 2

INT_3

---

externer Interrupt 3

INT_4

---

externer Interrupt 4

INT_5

---

externer Interrupt 5

INT_6

---

externer Interrupt 6

INT_7

---

externer Interrupt 7

INT_TIM1CAPT

Timer 1 Capture

Timer 1 Capture

INT_TIM1CMPA

Timer 1 CompareA

Timer 1 CompareA

INT_TIM1CMPB

Timer 1 CompareB

Timer 1 CompareB

INT_TIM1OVF

Timer 1 Overflow

Timer 1 Overflow

INT_TIM0COMP

Timer 0 Compare

Timer 0 Compare

INT_TIM0OVF

Timer 0 Overflow

Timer 0 Overflow

INT_ANA_COMP

Analog Comparator

Analog Comparator

INT_ADC

ADC

ADC

INT_TIM2COMP

Timer 2 Compare

Timer 2 Compare

INT_TIM2OVF

Timer 2 Overflow

Timer 2 Overflow

INT_TIM3CAPT

---

Timer 3 Capture

INT_TIM3CMPA

---

Timer 3 CompareA

INT_TIM3CMPB

---

Timer 3 CompareB

INT_TIM3CMPC

---

Timer 3 CompareC

INT_TIM3OVF

---

Timer 3 Overflow

 

Ein Signal auf INT_0 (Mega32) oder INT_4 (Mega128 (CAN) ) kann beim Einschalten des C-Control Pro Mega Moduls das Autostartverhalten stören. Nach der Pinzuordnung von M32 und M128 liegen diese Interrupts auf dem gleichen Pin wie der SW1. Wird der SW1 beim Einschalten des Moduls gedrückt, führt dies zur Aktivierung des seriellen Bootloader Modus, und das Programm wird nicht automatisch gestartet.

 

 

 

Interrupt Name

AVR32Bit



INT_ANA_COMP

Analog Comparator

INT_1

externer Interrupt 1

INT_2

externer Interrupt 2

INT_3

externer Interrupt 3

INT_4

externer Interrupt 4

INT_5

externer Interrupt 5

INT_6

externer Interrupt 6

INT_7

externer Interrupt 7

INT_ADC

ADC

INT_100Hz

100 Hz Interrupt

INT_TIMER0

Timer 0

INT_TIMER1

Timer 1

INT_TIMER2

Timer 2

INT_TIMER3

Timer 3

INT_TIMER4

Timer 4

INT_TIMER5

Timer 5

INT_CAN

CAN

 

Der betreffende Interrupt muss in einer Interrupt Service Routine (ISR) die entsprechenden Anweisungen erhalten, und der Interrupt muss freigegeben sein. Siehe Beispiel. Während der Abarbeitung einer Interruptroutine wird das Multithreading ausgesetzt.