Moin Moin!
Ich habe vor kurzem mit dem Programmieren von Microcontrolern angefangen. Ich muss sagen das ist echt eine tolle Sache und man kann echt viel damit anfangen.
Aber zu meinem Problem. Ich möchte ein Programm für die Beleuchtung eines Feuerwehrautos schreiben, bzw. ich hab schon die einzelnen Teile so gut wie fertig. Jetzt weiß ich nur nicht wie ich das mit den Tastern machen soll. Ich möchte, dass wenn ich einen Taster drücke zb. für das Blaulicht, es angeht (hab ich alles in Unterprogrammen geschrieben, Blinker Licht etc.) und wenn ich ihn erneut drücke, es wieder ausgeht. Hab das auch schon soweit hinbekommen, aber eben nur für ein Unterprogramm.
Meine Frage jetzt wie man das grundsätzlich mit einem Taster macht, dass beim erstemn Druck etwas angeht und beim zweitem etwas aus geht. Hab schon viel gegoogelt aber nichts passendes gefunden. Ach ja ich progammiere mit Bascom AVR und benutzte einen Atmega8.
Gruß
Pascal
(Hoffe bin hier im richtigem Abschnitt des Forums)
Bascom AVR Taster
Re: Bascom AVR Taster
Hallo!
Hab zwar schon lange nichts mehr mit Bascom gemacht,aber in Basic geht das so:
Variable definieren z.B var1
im unterprogamm:
if var1=0 then var1=1 Unterprog an: goto a
if var1=1 then var1=0 Unterprog aus:goto a
a:
ciao rob
Hab zwar schon lange nichts mehr mit Bascom gemacht,aber in Basic geht das so:
Variable definieren z.B var1
im unterprogamm:
if var1=0 then var1=1 Unterprog an: goto a
if var1=1 then var1=0 Unterprog aus:goto a
a:
ciao rob
Re: Bascom AVR Taster
Moin Rob,
danke für deine Antwort. So hatte ich das auch schon aber das würde nicht funktionieren, wenn man mit mehreren Tastern arbeitet und mehre Befehle wie Warnblinker Blaulicht etc. parallel ablaufen lassen will und sie auf Tasterdruck wieder beenden möchte.
Hab eine bessere Lösung:
If Pind.2 = 1 Then
If Tb = 0 Then
Tb = 1
Else
Tb = 0
End If
End If
Dieser Befehl kehrt die Variable Tb (Taster Blaulicht) immer um, wenn er gedrückt wird.
Man muss dann also für den Ausgang des Blaulichts z.B. Portd.5 = Tb schreiben. Dan funktioniert das ganze.
Gruß
Pascal
danke für deine Antwort. So hatte ich das auch schon aber das würde nicht funktionieren, wenn man mit mehreren Tastern arbeitet und mehre Befehle wie Warnblinker Blaulicht etc. parallel ablaufen lassen will und sie auf Tasterdruck wieder beenden möchte.
Hab eine bessere Lösung:
If Pind.2 = 1 Then
If Tb = 0 Then
Tb = 1
Else
Tb = 0
End If
End If
Dieser Befehl kehrt die Variable Tb (Taster Blaulicht) immer um, wenn er gedrückt wird.
Man muss dann also für den Ausgang des Blaulichts z.B. Portd.5 = Tb schreiben. Dan funktioniert das ganze.
Gruß
Pascal