Hallo, ich hoffe mir kann hier jmd. helfen Ich hab folgendes Problem in Bascom, vorne weg muss ich sagen, ich hab vom programmieren eig. wenig Anhnug. Ich möchte folgendes machen ich hab einen IC der besitzt leider nur einen Timer und möchte aber unbedingt den verwenden. Der IC soll jetzt 3 Software PWM Signale ausgeben (um RGB LEDs zu steuern), bedient wird er mit einer FB, sprich der IC muss auch noch ein RC5 Signal decodieren. Jetzt zum Problem, ich arbeite nicht mit dem Bascom "getRC5" sondern decodier das direkt, aber dafür brauch ich den Timer des IC's. Daraus ergibt sich jetzt, dass ich leider keinen Timer mehr frei hab um das Software PWM zu generieren, jetzt hab ich schon herausgefunden, dass das trotzdem geht, aber wie genau? Anscheind ist eine Möglichkeit im Hauptprogramm eine For-Schleife zu programmieren, die dann den zaehler incrementiert und so zusagen ein ersatz Timer wird und damit eben gezählt werden kann und somit das SoftwarePWM erzeugt werden könnte. Ich plan blos gar nicht wie man das macht, kann mir das jmd. anhand eines Codes zeigen? Achja das PWM wird eben dafür verwendet 3 Mosfets anzusteuern, die wiederum RGB-Leds schalten. Der Controller soll eig. nur die verschiedenen vorher festgelegten Farben durchschalten können, eben mit der FB und evtl. noch ein Fade Prgramm haben. Also nichts besonders aufwendiges. Auch wenn es noch andere, vllt. auch noch bessere Möglichkeiten gibt das zu realisieren (ohne einen anderen IC zu verwenden ), ich bin für alles offen. Vielen Dank schon mal im vorraus!
Stavros Z. schrieb: > Einen Attiny13 Für die Software-PWM genügt eine der beiden Compare-Einheit des Timers. Wenn man den Timertakt günstig wählt, kann man damit auch noch einen FB-Code detektieren. Bei RECS80 oder IR60 könnte ich mitreden, bei RC5 allerdings nicht, brauchte ich noch nicht. ...
$regfile = "attiny2313.dat" $baud = 38400 $crystal = 8000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 Dim Z As Byte Dim Led(3) As Byte Config Portb.1 = Output 'Ausgang 1 für LED (R) Config Portb.2 = Output 'Ausgang 2 für LED (G) Config Portb.3 = Output 'Ausgang 3 für LED (B) Led(1) = 200 'Werte für PWM hier rein. (R) Led(2) = 30 'und hier (G) Led(3) = 200 'und hier auch (B) Do Gosub Subpwm Loop End Subpwm: Incr Z For B = 1 To 3 If Led(b) > Z Then Portb.b = 1 Else Portb.b = 0 End If Next Return
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.