Frequenzgenerator im Compare Betrieb

Gast #1751969
Lesenswert?

Hallo,
ich versuche auf den Ausgang OC3A (PE3) eine Freuenz von 2,5kHz 
auszugeben (ATMega128). Mein Code funktioniert leider noch nicht.

  DDRE = (1 << DDE3);
  ICR3L = (uint16_t)399;
  OCR3AL = (uint16_t)100;

  TCCR3A |= (1 << COM3A1);
  TCCR3A |= (1 << WGM11);
  TCCR3B |= (1 << CS11);

Stimmt irgendwas mit den Registern nicht. Im Datenblatt habe ich nicht 
erkennen können, was falsch ist.
Danke schonmal
Gast #1752044
Lesenswert?

Sry das war noch der alte Code. Hier die aktuelle:

DDRE = (1 << DDE3);
ICR3 = 0x31F;        //799
OCR3A = 0x18F;      //399

TCCR3A |= (1 << COM3A1);
TCCR3A |= (1 << COM3B1) | (1 << COM3B0);
TCCR3A |= (1 << WGM31);
TCCR3B |= (1 << WGM33) | (1 << WGM32);
TCCR3B |= (1 << CS31);

Quarz: 16MHz
Moderator #1752974
Lesenswert?

Ich kann auf Anhieb auch keinen Fehler erkennen.

> Mein Code funktioniert leider noch nicht.

Was heißt das? Misst du am Ausgang die falsche Frequenz oder ständig
high oder ständig low, oder ist der Ausgang hochohmig?

Was passiert vor und nach den geposteten Programmzeilen?

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