Forum: Mikrocontroller und Digitale Elektronik Attiny414 TCB0 lässt sich nicht konfigurieren


von Mathias P. (aio)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich bin seit einigen Wochen dabei mich dem Attiny414 zu widmen und bin 
nach viel hin und her jetzt auf ein Problem gestoßen, dass ich bis jetzt 
nicht duch googeln lösen konnte.

Wie der Titel schon sagt, betrifft mein Problem den Timer B, den ich 
gerne im Periodic Interrupt mode betreiben würde.

Laut Datenblatt überhaupt keine Hürde:

21.3.2 Initialization
By default the TCB is in Periodic Interrupt mode. Follow these steps to 
start using it:
• Write a TOP value to the Compare/Capture register (TCB.CCMP).
• Enable the counter by writing a '1' to the ENABLE bit in the Control A 
register (TCB.CTRLA).
The counter will start counting clock ticks according to the prescaler 
setting in the Clock Select bit
field (CLKSEL in TCB.CTRLA).
• The counter value can be read from the Count register (TCB.CNT). The 
peripheral will generate an
interrupt when the CNT value reaches TOP.

Natürlich muss noch der Interrupt eingeschalten werden...

######################################################################## 
###

Nun zum Eigentlichen Problem:
Der Timer läuft und generiert Interrupts, aber nicht in den Abständen, 
die ich konfiguriert habe.
Egal welchen Top Wert ich in das CCMP Register schreibe, die 
Ausgangsfrequenz bleibt konstant bei 140 KHz.

Ich hoffe es ist einfach nur ein Denkfehler meinerseits und nichts 
unmögliches
(Code im Anhang)

Dankeschön im Voraus


Edit:
Lösung:

Interruptflag löschen
1
ISR(TCB0_INT_vect)
2
{
3
  cnt ++;
4
  sbi(TCB0_INTFLAGS,0);
5
  tbi(PORTA_OUT,1);
6
}

Hätt ich auch früher probieren können...

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.