AT91SAM7S external interrupt oder PIO interrupts

OP #831538
Lesenswert?
• ▲
▼
hallo an alle,

bin hier neu und hab mal ne frage.ich habe mir das datenblatt des AT91 
durchgelesen.so wie ich es verstehe,kann man da nur 2 externe interrups 
erzeugen lassen am FIQ und IRQ Input.stimmt das?
oder kann ich von jedem beliebigen I/O einen interrupt erzeugen?hab zwei 
taster,nicht wie auf dem evaluation board an den FIQ und IRQ 
angeschlossen,sondern an PA27/DTR1 und PA28/DSR1.kann ich über diese 
I/O's auch interrupts erzeugen?und wenn,was für eine interrupt-ID brauch 
ich dann da?

bin dankbar für eure hilfe!
Gast #3094635
Lesenswert?
• ▲
▼
man kann für jeden pio einen irq vergeben. mit den FIQs kenne ich mich 
nicht aus.
1
AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA);
2
AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOB);
3

4
AT91C_BASE_PIOA->PIO_PER = ((BUTTON_MASK));   //Parallel Input/Output Enable Register
5

6
AT91C_BASE_PIOA->PIO_IFER = ((BUTTON_MASK)); //Glitch Input Filter Enable 
7
Register
8

9
AT91C_BASE_PIOA->PIO_IER = ((BUTTON_MASK));   //PIO Interrupt Enable Register
10

11
AT91C_BASE_PIOA->PIO_PPUDR = BUTTON_MASK;
12

13
AT91C_BASE_AIC->AIC_SVR[AT91C_ID_PIOA] = (unsigned int)(PIOAIrqHandler); //Source Vector Register
14

15
AT91C_BASE_AIC->AIC_SMR[AT91C_ID_PIOA] = AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL | 6; // priority (0=lowest and 7=highest)
16

17
AT91C_BASE_AIC->AIC_IECR  = 1 << AT91C_ID_PIOA; //Interrupt Enable Command Register
Gast #3104880
Lesenswert?
• ▲
▼
ya , ich habe gesen dies,haber das geht fur die FIQ interrupt .
wir haben zwei pulse low-> hight and hight->low

fur die external interrupt IRQ0  das ist equal ?
ich glaube ,gib andere strabe

so wir haben nur eine pulse ? haber das geht nicht "one result"

AT91C_BASE_AIC->AIC_SVR[AT91C_ID_IRQ0] = (unsigned int)(PIOAIrqHandler); 
//Source Vector Register

AT91C_BASE_AIC->AIC_SMR[AT91C_ID_IRQ0] = 
AT91C_AIC_SRCTYPE_INT_LOW_PULSE| 6; // priority (0=lowest and 7=highest)

danke fur ihre antwort

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.