Interrupt vs Event (EXTI, stm32f4)

OP #3551243
Lesenswert?

hallo,

der external interrupt/event controller unterscheidet interrupts und 
events (stm32f4, cortex m4).

1. was zum teufel ist der unterschied zwischen den beiden und was bringt 
einem die unterscheidung???

2. mit einem interrupt wird die zuständige interruptroutine ausgeführt 
(siehe vektortable). was wird bei einem event ausgeführt (wo finde ich 
eine "eventtable")?

3. bei einem externen interrupt wird immer das pending bit auf 1 
gestellt. bei externen event nicht. was soll das?  ich dachte immer das 
pending bit wäre dazu da, um anstehende irqs zu markieren. warum wird 
hier sofort beim ersten das pending bit gesetzt? warum muss man das per 
hand wieder loeschen, kann das nicht die hardware? was passiert, wenn 
ich das pending nicht loesche? irgendwie hab ich das pending bit noch 
nicht so richtig verstanden, glaub ich...

danke
Gast #3551258
Lesenswert?

Events sind in den meißten µCs direkte Datenkanäle zwischen einzelnen 
IO-Komponenten. Das bedeutet wenn man das richtig Konfiguriert wird z.B.
wenn eine Ad-Wandlung fertig ist ein Event ausgelöst und die Daten zum 
UART gesendet ohne CPU oder Interupt, deshalb gibt es dafür auch keinen 
Handler, weils ja automatisch passiert. Es gibt halt irgendwo eine 
Konfigurationsmatrix welche Komponente bei welchem Event Daten an eine 
andere Komponente Sendet bzw. mit ihr verbunden ist.
Gast #3551585
Lesenswert?

Was ist denn dann der Unterschied zwischen Event und DMA? Den DMA kenne 
ich aus Anwendungen wo Peripherien mit dem RAM verbunden werden. Also 
ist DAS der Unterscheid?
DMA für Peripherie=>RAM (oder umgekehrt)  und
EVENT für Peripherie => Peripherie

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren