mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt mit TC


Autor: Zeiro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mochte gerne einen Interrupt programmieren leider wird der 
irq_handler nicht aufgerufen. Habe einen AT91RM9200.
Kann mir villeicht jamand helfen? Danke.
void timer1_c_irq_handler (void)
{  unsigned int dummy ;
  printf("ein Interrupt Trat auf");
  dummy = TC1_SR;        /* Read TC1 Status Register to clear it */
  AIC_IVR = 0;
  
  if ( (PIOB_PDSR & LED8) == LED8 )
  {  PIOB_CODR = LED8;
    printf("set LED8\n");
  }else
  {  PIOB_SODR = LED8 ;
    printf("clear LED8\n");
  }
  AIC_EOICR = 0;
}
int main ( void )
{
  unsigned int dummy ;
  init_mem();
  PIOB_PER  = LED8 | LED1 ;   /* Enable the PIO/LED8 pin */
  PIOB_OER   = LED8 | LED1;   /* Enable the PIO/LED8 pin as Output */
  PIOB_CODR = LED8 | LED1 ;   /* Set LED8 */
// Timer1 Init
  TC1_CCR = TC_CLKDIS ;       /* Disable the Clock Counter */
  TC1_IDR = 0xFFFFFFFF ;
  dummy = TC1_SR ;
  TC1_CMR = TC_CLKS_MCK1024 | TC_CPCTRG ;
  TC1_CCR = TC_CLKEN;        /* Enable the Clock counter */
  TC1_IER   = TC_CPCS;       /*Validate the RC compare interrupt */
  
  AIC_IDCR = (1<<TC1_ID);   /* Disable timer 1 interrupt at AIC level */
  AIC_SVR5 = (unsigned int) timer1_c_irq_handler ;        /* Set the TC1 IRQ handler address */
  AIC_SMR5 = ( AIC_SRCTYPE_INT_LEVEL_SENSITIVE | 0x4 ); /* Set the trigg and priority for TC1 interrupt */
  AIC_ICCR = (1<<TC1_ID);   /* Clear the TC1 interrupt */
  AIC_IECR = (1<<TC1_ID);   /* Enable the TC1 interrupt */
  TC1_RC = 0xFBC5;
  TC1_CCR = TC_SWTRG ;

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.