Hallo zusammen. Ich zerreiße mir gerade den Kopf, da ich jetzt schon 30 verschiedene Codes ausprobiert habe, aber keiner bei mir funktioniert hat -.- Könnt ihr mir mal sagen wo der Fehler liegt bitte?? [¢] #include <avr/io.h> int main(void){ DDRB = 0xFF; while(1) { TCCR0A |= (1 << COM0A1); OCR0A = 250; // set pwm duty } return 0; } [/c] Danke für die Hilfe
Hi
>aber keiner bei mir funktioniert hat -.-
Du solltest dem ATMega auch sagen, das er in einem PWM-Mode laufen soll.
Stichwort WGM-Bits.
MfG Spess
So gehts auch nicht... was fehlt noch? #include <avr/io.h> int main(void){ DDRB = 0xFF; TCCR0A |= (1 << COM0A1) | (1 << WGM00) | (1 << WGM01) | (1 << WGM02); OCR0A = 250; // set pwm duty while(1) { } return 0; }
> TCCR0A |= (1 << COM0A1) | (1 << WGM00) | (1 << WGM01) | (1 << WGM02);
WGM02 liegt nicht in TCCR0A.
So noch mal ein update.. geht aber immer noch nicht... #include <avr/io.h> int main(void){ TCCR0A |= (1 << COM0A1) | (1 << WGM00) | (1 << WGM01); TCCR0B = TCCR0B | (1 << CS02) | (1 << CS01) | (1 << CS00) | (1 << WGM02); OCR0A = 250; // set pwm duty DDRB |= (1 << DDB7); while(1) { } return 0; }
Wahllos einfach irgendwelche Bits setzen führt auch nicht zum Erfolg! Welchen Modus hast du denn jetzt aktiviert? Welche Voraussetzungen hat dieser Modus und welche Nebenbedingungen? Solange du noch nicht fit bist, ... nimm einen Fast-PWM Modus mit konstanter Bitzahl.
Habe das WGM02 Bit entfernt... aber ich bekomme ünerhaupt keinen output auf B7...
Basti Himmi schrieb: > Habe das WGM02 Bit entfernt... aber ich bekomme ünerhaupt keinen output > auf B7... Was erwartest du denn und womit misst du das? mfg.
Also mein Problem hat sich jetzt verändert... Die PWM funktioniert jetzt, allerdings ist die Ausgangsspannung zu niedrig. der Aktuelle Code für den Port: DDRE |= (1 << 4); TCCR3A |= (1 << COM3B1) | (1 << WGM30) | (1 << WGM31); TCCR3B |= (1 << CS31) | (1 << WGM32); OCR3B = val; bei ( val = 254) bekomme ich gerade einmal eine Spannnung von 1V. Ich bräuchchte aber 5V Was ist hier noch falsch?
>bei ( val = 254) bekomme ich gerade einmal eine Spannnung von 1V.
Worüber hast Du das gemessen? Ist da überhaupt eine Last dran, an der
die
Spannung abfallen kann, oder hängt der Ausgang nur in der Luft und Du
mit dem Meßgerät dran?
Dann siehst Du nichts Anständiges.
MfG Paul
Da häng ein LED Controller dran Wenn ich den LED-Controller mit PORTE |= (1 << 4) ansteuer und messe habe ich 5V Wenn ich mit nem arudino sketch analogWrite(254) mache, hab ich auch 5V. Nur bei meinem PWM sind es nur 1,1V.
Hi >Wenn ich mit nem arudino sketch analogWrite(254) mache, hab ich auch 5V. >Nur bei meinem PWM sind es nur 1,1V. Du hast eine 10-BitPWM eingestellt. Klar, das bei einem OCR-Wert von 254 keine 5V herauskommen. MfG Spess
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.