Forum: Mikrocontroller und Digitale Elektronik CTC Atiny 2313


von Hans Jakob (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem mit dem CTC beim Atiny 2313:

Ich möchte mir am Pin OC0A (PB2) eine Frequenz erzeugen. Dazu habe ich 
den Timer 0 wie folgt initalisiert:

void TIMER0_Init(void)
{
DDRB = 0xFF;        // B als Ausgang
TCCR0A = ((1<<COM0A0));      // Auf Match OCR0A  toggle
OCR0A = 0xF1;        // Match OC0A auf dec39 - hex27
TCCR0A = (1<<WGM01);
TCCR0B = (1<<CS01) | (1<<CS00);    // Timer start, N = 64

TIMSK |= (1<<OCIE0A);      // Interrupts aus Overflow erlauben
}


Softwareseitig funktioniert das ganze bereits ganz gut - wenn ich den 
Timerwert auslese liegt dieser in den Bereichen, wo er sein sollte.
Nur Hardwareseitig kann ich keine Frequenz am Ausgang messen.

Habe ich ein Register noch nicht richtig eingestellt? Wo könnte das 
Problem liegen?

von spess53 (Gast)


Lesenswert?

HI

>TCCR0A = ((1<<COM0A0));      // Auf Match OCR0A  toggle
....
>TCCR0A = (1<<WGM01);(1<<WGM01);

MfG Spess

von Hans Jakob (Gast)


Lesenswert?

Ja... welche dummer Fehler. Es muss natürlich so sein...

TCCR0A | = (1<<WGM01);

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.