hallo, ich möchte mit dem atmega128 ein pwm-signal erzeugen: ich verwende den modus "phase and frequency correct" und habe folgendes problem: der zähler zählt zuerst von 0 auf 5, dann wieder von 5 auf 0, usw. wenn das register TCNT den wert von OCR1B während des hinaufzählens erreicht wird der ausgang gesetzt. sowei stimmt noch alles, doch beim hinunterzählen soll beim erreichen des wertes von OCR1B der ausgang wieder gelöscht werden, der ausgang bleibt aber auf high weiß jemand wo das problem liegen könnte?? ---------------------------------------- #include <AVR/io.h> #include <AVR/interrupt.h> int main(void) { DDRB = 0xFF; // PortB als Ausgang TCCR1B |= (1<<WGM13); // Phase and Frequency correct TCCR1A |= (1<<COM1B1) | (1<<COM1B0); // siehe Datenblatt S. 134 ICR1 = 0x05; // Zähler zählt bis 5 OCR1B = 0x03; // bei Zähler = 3 --> Ausgang setzen, bzw. rücksetzen TCCR1B |= (1<<CS11); // Systemtakt/8 sei(); // allgemeine Interruptfreigabe while(1){} return 0; }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.