www.mikrocontroller.net

Forum: Compiler & IDEs Comperator + PWM


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rahul, der Trollige (Gast)
Datum:

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

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und die PWM kannst du komplett der Hardware überlassen...

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/Pulsbreite...

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.