Forum: Mikrocontroller und Digitale Elektronik 38khz erzeugen mit Attiny2313


von Florian (Gast)


Lesenswert?

Hi,

benötige eure Hilfe um einen Pin zu Toggeln da ich für einen IR sender 
eine Trägerfrequenz von 38kHz erzeugen muss. Mein Problem ist aber das 
ich aus dem Datenblatt nicht schlau werde. Dabei nutze ich einen Attiny 
2313 @ 16MHz Tackt. Ich weiss das ich einen der Timer im CTC Modus dazu 
nutzen kann , blicke aber nicht durch wie ich die Werte für die Register 
berechnen muss und welche ich wie setzen muss.

Bin für jede Hilfe dankbar

MFG

Flo

von hans (Gast)


Lesenswert?

Hier für OC1A

//TIMER1 initialize - prescale:1
// WGM: 4) CTC, TOP=OCRnA
// desired value: 76KHz
// actual value: 76,190KHz (0,2%)
void timer1_init(void)
{
 TCCR1B = 0x00; //stop timer
 TCNT1H = 0xFF; //set count value
 TCNT1L = 0x2F;
 OCR1AH  = 0x00; //set compare value
 OCR1AL  = 0xD1;
 TCCR1A = 0x40;
 TCCR1B = 0x09; //start Timer
}

Für IR-Sender einfach Timer nach kodierung ein/ausschalten.

gruß hans

von Florian (Gast)


Lesenswert?

Ok werde ich direkt mal testen.Hab die LED zwischen OC1A und Tx damit 
sollte es eingendlich klappen oder?

von Florian (Gast)


Lesenswert?

So habe das ganze mal angeklemmt aber sollte die ir Diode nicht nur 
aktiv sein wenn die Uart sendet?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Florian wrote:

> So habe das ganze mal angeklemmt aber sollte die ir Diode nicht nur
> aktiv sein wenn die Uart sendet?

Nö bzw. es kommt auf den Anschluss an und was gesendet wird.

Wenn sie mit der Anode an OC1A angeschlossen ist, leuchtet die LED mit 
38 KHz, wenn TX ein Nullbit ausgibt.

Wenn sie mit der Anode an Tx angeschlossen ist, leuchtet sie mit 38 KHz, 
wenn die UART initialisiert ist und TX inaktiv ist oder wenn TX aktiv 
ist und ein Einsbit ausgibt.

Wenn die UART nicht initialisiert ist, also der Pin an dem TX genutzt 
werden kann, und ein I/O Pin auf Eingang ist, dann leuchtet die LED u.U. 
ziemlich schwach, aber auch mit 38 KHz.

von Florian (Gast)


Lesenswert?

Ok danke das hab dann verstanden.aber es klappt nicht wei gedacht wollte 
eigentlich das Asuro interface nachbauen um damit von einem tiny die 
Uart an einen mega 32 zu senden aber es kommt meistens nur ein 
leerzeichen an.wen überhautp.als empfänger nutze ich einen Tsop 1738 
dessen ausgang am rx des 32s hängt.

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.