Erstmal ein herzliches "Hallo" in die Runde.
Bin ja neu hier.![]()
![]()
Also seit gestern habe ich nun auch mit der Microcontroller Programmierung angefangen. Als Sprache habe ich mir Basic ausgesucht, da ich dort schon einwenig Ahnung habe. Am liebsten wäre mir Pascal gewesen, da wir das auch in der Schule benutzen für anderes, aber BASIC hatten wir auch schon mal.
Als Board benutze ich das myAVR Board 2 USB. So nun zu meinem Anliegen.
Ich möchte so als Anfang eine LED nach Tastendruck für eine bestimmte Zeit zum leuchten bringen. Diese bestimmte Zeit möchte ich mittels eines Poti von 1s-60s einstellen können.
Es funktioniert fast. Mein Problem ist das das minimum komischerweise nicht 1Sekunde ist, sondern laut Stopuhr etwa 5Sekunden. Woran liegt das? Und kann man den Code vlt. noch optimieren?
Ich bitte um Milde. Bin noch Anfänger. [-o<
Grüße
Markus
Code:$regfile = "m8def.dat" $crystal = 3686400 Config Portb.1 = Output Led Alias Portb.1 Config Pind.2 = Input Taster Alias Pind.2 Portd.2 = 1 Config Timer1 = Timer , Prescale = 64 On Timer1 Main Config Adc = Single , Prescaler = Auto Start Adc Const Timervorgabe = 7936 Dim W As Integer Dim Zeit As Integer Dim Zeitvorgabe As Integer Zeit = 1 Enable Timer1 Enable Interrupts Do If Taster = 0 Then If Getadc(0) < 17 Then W = 17 Else W = Getadc(0) End If Zeitvorgabe = W / 17 Led = 1 Enable Timer1 End If Loop Main: If Zeit < Zeitvorgabe Then Zeit = Zeit + 1 Timer1 = Timervorgabe Else Led = 0 Zeit = 0 Timer1 = Timervorgabe Disable Timer1 End If Return







Zitieren

Lesezeichen