Hallo,
ich habe folgendes Problem mit dem Timer Counter:
Ich möchte das bei perioden_dauer/4 und perioden_dauer/2 ein Interrupt
ausgelöst wird. Dazu setze ich TC_RA auf perioden_dauer/4 und TC_RB auf
perioden_dauer/2. Das Ergebnis ist, dass der Interrupt bei TC_RA
ausgelöst wird, bei TC_RB aber nicht. Kann mir das jemand erklären?
1 | AT91F_TC_Open(AT91C_BASE_TC2,(
|
2 | AT91C_TC_WAVE |
|
3 | AT91C_TC_WAVESEL_UP_AUTO |
|
4 | AT91C_TC_CLKS_TIMER_DIV1_CLOCK
|
5 | ),AT91C_ID_TC2);
|
6 |
|
7 | AT91C_BASE_TC2->TC_RC = perioden_dauer;
|
8 | AT91C_BASE_TC2->TC_RA = perioden_dauer/4;
|
9 | AT91C_BASE_TC2->TC_RB = perioden_dauer/2;
|
10 |
|
11 | //* Open Timer 2 interrupt
|
12 | AT91F_AIC_ConfigureIt ( AT91C_BASE_AIC, AT91C_ID_TC2,
|
13 | TIMER2_INTERRUPT_LEVEL,AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL,
|
14 | timer2_c_irq_handler);
|
15 | AT91C_BASE_TC2->TC_IER = (AT91C_TC_CPAS | AT91C_TC_CPBS);
|
16 | AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_TC2);
|
Schönen Gruß,
Johannes