US0 IRQ auf AT91SAM7256 einschalten

Gast #1060798
Hallo zusammen,
ich habe hier seit 2 Tagen ein Problemchen, das mich mittlerweile 
verzweifeln lässt:
Ich möchte an die RX-Leitung des Uart 0 am ARM ein Gerät hängen, das mir 
in unregelmäßigen Abständen Daten an den ARM schickt.
Das Lesen von RX soll über einen UART-Interrupt getriggert werden. Ich 
initialisiere diesen wie folgt:
1
//Config IOs
2
AT91F_PIO_CfgPeriph( AT91C_BASE_PIOA, AT91C_PA05_RXD0 );
3

4
// enable clock of USART
5
AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1<<AT91C_ID_US1 ) ;
6

7
uart.rdPos = 0;
8
/* Disable the DMA */
9
AT91F_PDC_DisableRx( AT91C_BASE_PDC_US0 ); //Disable the DMA
10

11
/* Reset transmitter and receiver */
12
AT91C_BASE_US0->US_CR =  AT91C_US_RSTRX; //rx and tx are then disabled
13
  
14
// config USART
15
AT91F_US_Configure( AT91C_BASE_US0, MCK, mode, baud_rate, 0 );
16
   
17
// enable rx 
18
AT91C_BASE_US1->US_CR = AT91C_US_RXEN;
19
   
20
AT91F_PDC_DisableRx( AT91C_BASE_PDC_US1 ); //Disable the DMA for receive
21
   
22
/* Set DMA Rx buffer*/
23
AT91C_BASE_US0->US_RPR = (uint)uart.rxBuf;
24
AT91C_BASE_US0->US_RCR = sizeof(uart.rxBuf);
25
AT91C_BASE_US0->US_RNPR = (uint)uart.rxBuf;
26
AT91C_BASE_US0->US_RNCR = 0;
27
   
28
AT91F_PDC_EnableRx( AT91C_BASE_PDC_US0 ); //Enable the DMA for receive
29

30
AT91F_AIC_ConfigureIt( AT91C_BASE_AIC, AT91C_ID_US0, IRQ_PRIORITY_PIO, AT91C_AIC_SRCTYPE_INT_LOW_LEVEL, isrUART );
31

32
//Enable IRQ on US0
33
AT91C_BASE_US0->US_IER = AT91C_US_RXRDY;
34
AT91F_AIC_EnableIt( AT91C_BASE_AIC, AT91C_ID_US0 );

Leider funktioniert die Sache nicht so recht --> Unknown Instruction, 
oder watchdog.
Kann mir jemand sagen, wo der Fehler zu suchen ist?
Gast
1
AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1<<AT91C_ID_US1 ) ;
soll natürlich lauten:
1
AT91F_PMC_EnablePeriphClock( AT91C_BASE_PMC, 1<<AT91C_ID_US0 ) ;

Da hab ich mich wohl vertippt...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.