Hallo, Ich habe ein Arduino uno Board welches ich mit dem STK 500 via ISP verbunden habe. Hab alle einstellungen für Atmega 328p vorgenommen. Da ich in C nicht fit bin versuchte ich PWM beispiele einzuspielen. Allerdings bekomme ich es nicht hin auf ausgang PB5 eine LED zu dimmen. Also entweder liegt das am code oder ist die STK 500 nicht kompatibel mit dem ATMEGA 328p. Gruß Marc
Ist es möglich das einer von euch mir mal einen Code gibt den ich probieren kann. Will einfach nur PB5 auf 50% haben. Hab keine ahnung warum es nicht geht.
1 | #include <avr/io.h> |
2 | int main(void) |
3 | {
|
4 | DDRB = 1<<PB5; // PB5 Ausgang |
5 | while(1) |
6 | {
|
7 | PORTB ^= 1<<PB5; // 50% an + 50% aus |
8 | }
|
9 | }
|
Danke das funktioniert jetzt mal habe am ausgang 2,5 Volt Kann ich die größe auch in einer zahl von 0-255 angeben.
Dann musst du eine komplexere Software als oben (Frequenz durch FCPU und die Anzahl der Befehle in der while-Schleife bestimmt; Duty-Cycle fest 50% durch das Toggeln mit XOR ^ => Extreme CPU-Last!) verwenden. Im Artikel Soft-PWM sind die Grundlagen erklärt und im Artikel LED-Fading ist u.a. eine 16-Bit PWM with 256 different settings beschrieben.
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.