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!
ich moche machen pulse auf die pio number porta.2 and the richtung of the porta 15 wie macht the initial register ot the irq0 danke fur ihre helfe
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 |
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.