Forum: Compiler & IDEs Frequenzgenerator im Compare Betrieb


von Terfagter (Gast)


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

von Terfagter (Gast)


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

von Terfagter (Gast)


Lesenswert?

Braucht ihr noch weitere Informationen? Oder ist die Frage zu speziell?
Gruß

von Yalu X. (yalu) (Moderator)


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?

von Terfagter (Gast)


Lesenswert?

Der Ausgang ist ständig low.
Ich messe mit dem Ozziloskop nur ein kleines rauschen, also nicht 
wirklich was. Mit einer Amplitude von ein paar mV...

von Terfagter (Gast)


Lesenswert?

Noch jemand eine Idee?

von Grrrr (Gast)


Lesenswert?


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.