Witam serdecznie, mam problem z którym walczę już dość długo.
W mikrokontrolery bawię się od dwóch tygodni.
Problem polega na stworzeniu kodu do obsługi jednego przycisku:
Krótkie naciśnięcie - program robi coś tam
Długie naciśnięcie - program robi coś innego
Chciałem zbudować proste menu wykorzystując jednego switcha.
poniżej kod:
Procek Atmega 8, ale to chyba niema znaczenia, switch podciągnięty do +5V.
Niestety nie działa, może ktoś już próbował coś podobnego zrobić?
W mikrokontrolery bawię się od dwóch tygodni.
Problem polega na stworzeniu kodu do obsługi jednego przycisku:
Krótkie naciśnięcie - program robi coś tam
Długie naciśnięcie - program robi coś innego
Chciałem zbudować proste menu wykorzystując jednego switcha.
poniżej kod:
$regfile = "m8def.dat"
$crystal = 1000000
Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0
Config Lcd = 16 * 2
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Pinb.0 = Input
Config Debounce = 50
Reset Portd.1
Reset Portd.2
Reset Portd.3
Reset Portd.4
Reset Pinb.0
Dim A As Byte
Dim B As Byte
A = 0
Pocz:
Debounce Pinb.0 , 0 , Dodaj
Debounce Pinb.0 , 1 , Zeruj
If A = 1 Then Gosub Spr
Goto Pocz
Dodaj:
Incr A
If A = 10 Then Gosub Dlugie
Goto Pocz
Spr:
Debounce Pinb.0 , 0 , Pocz
Cls
Lcd "krotkie"
Wait 1
Cls
A = 0
Return
Zeruj:
A = 0
Goto Pocz
Dlugie:
Cls
Lcd "dlugie"
Wait 2
Cls
Return
End
Procek Atmega 8, ale to chyba niema znaczenia, switch podciągnięty do +5V.
Niestety nie działa, może ktoś już próbował coś podobnego zrobić?

