mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM-Modulation


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Gustav S. (gustav0134)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Guten Tag,
Ich studiere momentan Elektrotechnik im Bachelor und habe eine Frage 
bezüglich Der PWM einer Diode. In dem Beispiel Code (im Anhang) werden 4 
Didoden angesteuert. Sie sollen mittels PWM und Knopfdruck ihre 
Intensität (bzw. Helligkeit) verringern oder erhöhen. Außerdem sollen 
die Dioden ihre vorherige Helligkeit beibehalten, also sepreat und 
unabhängig einstellbar sein. Meine Frage bezieht sich auf folgende 
Zeilen:
switch (PWMlevel)
      {
      case 0: if(PWMtime >2){

                 LEDoff25 = LEDon & (~(LEDoff[0]));
            setLEDs(LEDoff25);
            PWMlevel++;


Warum wird hier der Wert des Arrays LEDoff[] bittweise negiert und dann 
bittweise über eine UND Operation vereinigt. Ich habe diesbezüglich 
bereits in anderen Foren geposted aber keine Erklärung erhalten.

Mit freundlichen Grüßen
Gustav

Autor: Teo D. (teoderix)
Datum:

Bewertung
1 lesenswert
nicht lesenswert

Autor: Falk B. (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustav S. schrieb:

PWM-Modulation ist sowas ähnliches wie ein weißer Schimmel oder ein 
LCD-Display.

> Ich studiere momentan Elektrotechnik im Bachelor und habe eine Frage
> bezüglich Der PWM einer Diode.

Dioden haben keine PWM ;-)

> In dem Beispiel Code (im Anhang) werden 4

Warum hängst du nicht deinen originalen Quelltext als .c Datei an? Dann 
wird die nämlich auch mit Syntaxhervorhebeung angezeigt.

> Didoden angesteuert.

Du meinst wahrscheinlich LEDs.

> Warum wird hier der Wert des Arrays LEDoff[] bittweise negiert und dann
> bittweise über eine UND Operation vereinigt.

Das ist eine Bitmanipulation zum Löschen einzelner Bits.

Dein Quelltext ist schlecht lesbar, weil die Tabulatoren riesig sind. 
Die sollte man per Editor durch Leerzeichen ersetzen lassen, damit sie 
überall gleich aussehen. Außerdem ist die Struktur deines Quelltextes 
sowohl von der reinen Lesbarkeit als auch vom Grundkonzept her eher 
schlecht.

Siehe Strukturierte Programmierung auf Mikrocontrollern

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.

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