36khz Träger mit Timer0 erzeugen

Gast #1432866
Lesenswert?

Hallo Leute,

ich hoffe ihr könnt mir bei meinem Problem helfen.
Und zwar versuche ich gerade eine 36kHz Trägerfrequenz für eine Uart 
über IR Brücke zu erzeugen.

Mein Problem ist das ich einfach die Timer nicht verstehe.

Als MCU nutze ich einen Attiny2313.Ich würde gerne den 8Bit Timer0 
nutzen da ich den 16Bit Timer für eine Software UART nutze.

Könnt ihr mir sagen ob dieser Timer dazu geeignet ist und mir eventuell 
nen Anstoss geben wie ich es am besten mache?

MfG


Flo
Gast #1432880
Lesenswert?

Hi

>Könnt ihr mir sagen ob dieser Timer dazu geeignet ist und mir eventuell
>nen Anstoss geben wie ich es am besten mache?

Timer in den CTC-Modus versetzen und das Top-Register entsprechend 
laden. Fertig. Mit welcher Frequenz läuft dein AVR?

MfG Spess
Gast #1432890
Lesenswert?

Ich habe mal gegoogelt und das gefunden:

// setup waveform generation to 36kHz on timer 0
TCCR0A |= _BV(WGM01); // clear timer on compare match
TCCR0B |= _BV(CS00); // timer source is system clock
OCR0A = 107; // output compare value for 36kHz @ 8 MHz

// output compare pin to output mode, low level
DDRB |= _BV(PB2); // port PB2 as output
PORTB &= ~_BV(PB2); // PB2 is low

Kommt das so hin?Toggelt der automatisch?

Und zu guter letzt:Wie berechne ich OCR0A für 4 MHz?

MfG

Flo
Gast #1432906
Lesenswert?

VIELEN DANK.
Habe nun endlich verstanden wie ich die ganzen Einstellungen verstehen 
muss.
 Nur die Bestimmung von 0CR0A versteh ich nicht aber das bekomme ich 
auch noch hinter.

Vielen Dank nochmal

MfG Flo

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