Forum: Mikrocontroller und Digitale Elektronik PWM-Modulation


von Gustav S. (gustav0134)


Angehängte Dateien:

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

von Teo D. (teoderix)


Lesenswert?


von Falk B. (falk)


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

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.