Guten Abend gestandene Programmierer ;) Habe aktuell so meine Probleme mit dem Timer0 und dem CompareMatch 'A'... Habe ich den Timer falsch konfiguriert? Soll er aktuell so wie im Code überhaupt keinen "CompareMatchInterruptA" auslösen? Villeicht sieht ja jemand auf anhieb einen Fehler..?
1 | void timerCMPInit( TC0_t *tim ) |
2 | {
|
3 | /* Timer (TC0)
|
4 | * Wird hier auf Compare Match Interrupt konfiguriert
|
5 | * Konfigurationen sind in "timer.h" vorzunehmen
|
6 | */
|
7 | tim->CTRLA = TC_CLKSEL_DIV256_gc; // Takt konfigurieren ( mit ggf. Vorteiler ) |
8 | tim->CTRLB = ( TC0_CCAEN_bm | TC0_WGMODE0_bm ); // Compare Match 'A' aktivieren |
9 | tim->CCA = 1249; // Compare Match Wert |
10 | tim->INTCTRLB = TC_CCAINTLVL_HI_gc; // Interrupt "Compare Match" aktivieren / Priorität des Interrupts festlegen |
11 | |
12 | PMIC.CTRL |= PMIC_LOLVLEN_bm | PMIC_MEDLVLEN_bm | PMIC_HILVLEN_bm; |
13 | |
14 | sei(); |
15 | }
|
Die entsprechende ISR ist auch vorhanden..