Nios II Timer Interrupt

Gast #2179235
Lesenswert?
• ▲
▼
Hallo,

ich bin relativ neu in NIOS und versuche grad eine blinkende LED mit 
einem TimerInterrupt zu realisieren. Jedoch klappt das nicht so wie das 
soll :)

Vielleicht hat ja wer eine Ahnung wo das Problem sein könnte.



static void timer_interrupts(void* context, alt_u32 id)
 {
 IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);
 }

int main()
{
      alt_irq_register(TIMER_IRQ, NULL, timer_interrupts);
  while(1)
  {
       IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_BASE, 0x00ff);
       IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_BASE, 0x00);

       IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, 0x01);

  }
}


Wobei mein Timer eine Periode von 10 ms hat.

Würde mich über Hilfe freuen :)


Grüße,
Thom
Gast #2179780
Lesenswert?
• ▲
▼
neuer versuch ^^

alt_u8 x = 0x00;

static void timer_interrupts(void* context, alt_u32 id)
 {
 IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER_BASE, 0);
 IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, x);
 x = x + 1;
 }

int main()
{
    alt_irq_register(TIMER_IRQ, NULL, timer_interrupts);
      IOWR_ALTERA_AVALON_TIMER_PERIODL(TIMER_BASE, 0x0064);
      IOWR_ALTERA_AVALON_TIMER_PERIODH(TIMER_BASE, 0x00);

  while(1);

}

so sieht nun das programm aus, jedoch geht es immer noch nicht.
er bringt noch das alt_irq_register nicht deklariert ist. hat vielleicht 
noch wer ein tipp ? :)

und ich hätte noche eine frage zu dem timer. mein timer hat eine periode 
von 10ms. ist es dann richtig, wenn ich in der periodl einen wert von 
100 eintrage damit der interrupt 1s lang ist ?
#2185694
Lesenswert?
• ▲
▼
Thoms schrieb:
> und ich hätte noche eine frage zu dem timer. mein timer hat eine periode
> von 10ms. ist es dann richtig, wenn ich in der periodl einen wert von
> 100 eintrage damit der interrupt 1s lang ist ?

Also einer von uns beiden bringt da etwas durcheinander. Wenn Du die 
Periodendauer des Timers im SOPC Builder auf 10 ms festlegst, dann 
kannst Du doch von den Register PERIODL und PERIODH die Finger lassen in 
der Software. Die sind doch dann schon eingestellt, oder?

Harald

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