Forum: Compiler & IDEs Comperator + PWM


von Christoph (Gast)


Lesenswert?

Hallo,
Ich arbeite gerade an einem kleinen Programm, das ein PWM-Signal ausgibt 
(gesteuert über zwei Taster) und zwei analoge Spannungen überwacht und 
je nach dem eine von zwei Leds ansteuert.
Die Leds blinken aber, auch klar weil ich bei der Tasterabfrage für die 
PWM eine Warteschleife eingebaut habe.
Da ich mich gerade erst in die Welt der MC eingearbeitet habe, hoffe ich 
jemand kann mir einen guten Tipp geben, wie ich Herr über dieses 
"Blinken" werde.
mfG Christoph

von Rahul, der Trollige (Gast)


Lesenswert?

Guck mal in der Codesammlung nach Tastenentprell-Routinen von Peter 
Dannegger.
Da hast du keine Warteschleifen mehr...

von Rahul, der Trollige (Gast)


Lesenswert?

Und die PWM kannst du komplett der Hardware überlassen...

von Christoph (Gast)


Lesenswert?

Danke für die schnellen Antworten, werde ich mir gleich mal anschauen.
Eine Anfängerfrage hätte ich noch, PWM der Hardware überlassen?
Wie darf ich dass verstehen?

von Rahul, der Trollige (Gast)


Lesenswert?

>PWM der Hardware überlassen?
>Wie darf ich dass verstehen?

Im Datenblatt (ich gehe mal von AVRs aus) sind die verschiedenen 
Timer-Modi beschrieben. Darunter sind auch diverse PWM-Modi.

von Christoph (Gast)


Lesenswert?

Ich habe eine Warteschleife eingebaut, damit die PWM-Wert langsam bei 
Tastendrück gesteigert bzw veringert wird, wenn ich keine Schleife habe 
verändert sich der Wert zu schnell.

von Rahul, der Trollige (Gast)


Lesenswert?

Wenn du die Tasten-Abfrage an ein periodisches Ereignis wie einen 
Timer-Interrupt koppelst, kannst du sie sehr elegant entprellen (sollte 
man auf jeden Fall!).
Diese Funktion kann man dann noch soweit treiben, dass man erkennt, wie 
lange eine Taste gedrückt wird.
Man kann auch erkennen, ob eine Taste wieder losgelassen wurde.
Man kann also zwischen einem einzelnen Tippen und einem Dauerdrücken 
unterscheiden.

Die Artikel dürften dich interessieren:
http://www.mikrocontroller.net/articles/Entprellung
http://www.mikrocontroller.net/articles/Pulsbreitenmodulation

von Christoph (Gast)


Lesenswert?

Danke für die links!
Ich glaube, dass ist genau das, was ich gesucht habe!
Werd den Code einmal studieren und mal sehen, ob ich daraus etwas für 
meine Bedürfnisse basteln kann.
mfG Christoph!

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.