BASCOM tlacitko1
Moderátor: Moderátoři
BASCOM tlacitko1
if a=1 then
left Alias Pind.7
right Alias Pina.7
else
right Alias Pind.7
left Alias Pina.7
end if
BASCOM hlasi ALIAS ALREADY USED
Jedna se o to, ze mam dve tlacitka a potrebuju je navzajem prohodit, tedy prohodit funkce techto tlacitek.
Tzn: Co dela tlacitko 1 ma delat tlacitko 2 a co dela tlacitko 2 ma delat tlacitko 1, pokud se splni odminka, ze a=1.
Je mozne toto v bascomu nejak vyresit takto jednoduchym zpusobem?
děkuji,
m.
da se toto reseni opravdu položit jako plnohodnotnou nahradu na kontrolu stisku tlačitek ? Trosku se mi tam nelibi ten BIT, protoze v simulatoru musim dvakrat kliknout , aby se zmenil stav, oproti klasickemu reseni s tlacitky bez BITu...
dekuji
ale myslím že bascom si nedá vnutit přiřazování aliasů za běhu programu, protože alias je vlastně deklarace a ta se definuje předem.
jednotlivý pin portu může mít jen hodnotu 0 nebo 1 tak snad bit jako typ proměnné je tam OK? Mně to v simulaci tak funguje.
Crifodo píše:já nejsem žádnej odborník v programování, na to jsou tu jiní, pokud se zrovna nevěnujou vznešenější činnosti.
ale myslím že bascom si nedá vnutit přiřazování aliasů za běhu programu, protože alias je vlastně deklarace a ta se definuje předem.
jednotlivý pin portu může mít jen hodnotu 0 nebo 1 tak snad bit jako typ proměnné je tam OK? Mně to v simulaci tak funguje.
Má pravdu, předsedo
Jde jenom o deklaraci. Tudíž pak už se v programu odkazuješ jenom jménem.
1) se hodnota ON, OFF zmenila jakmile jsem kliknul v simulatoru na zelenou diodku...jakmile jsem ji zhasnul, hodnota se zmenila na OFF jakmile jsem klikl na ni znovu, hodnota se zmenila na ON ihned..
a ted, za pouziti BITu se deje:
Kliknu na diodku, rozsvitim ji a zmeni se hodnotas, pak diodku opet zhasnu, pak ji rozsvitim a az ted se zmeni hodnota na jinou...nedeje se to zkratka hned...
Popopepe, znamena to s tou deklaraci, ze zameny tlacitek jednoduchym zpusobem ALIAS tedy nejde nebo je opravdu nahore uvedene řešení právě to řešení?
Děkuji
ty tlacitka maji jezdit kurzorem na LCD
1) tlacitko nahoru
2) tlacitko dolu
ale kdyz to lcd obratim vzhuru nohama, tak potrebuju, aby nahoru bylo dolu a aby dolu bylo nahoru...
a to jestli je vzhuru nohama displej se pozna bud dalsim tlacitkem nebo kontrolou nejake hodnoty v programu....to je ale vedlejsi, hlavne nejak prohodit ty tlacitka...prosim Vas o pomoc....
Takže.
vlevo alias pind.0
vpravo alias pind.1
.
.
do
Debounce vlevo,0,vlevo
debounce vpravo,0,vpravo
loop
Vlevo:
if a=1 then
xxx -ta tvoje podmínka, LCD je normálně, posun do leva
else
xxx - ta tvoje podmínka, LCD vzhůru nohama, posum do prava
endif
return
Vpravo:
if a=1 then
xxx -ta tvoje podmínka, LCD je normálně, posum do prava
else
xxx - ta tvoje podmínka, LCD vzhůru nohama, posun do leva
endif
return
Třeba... proměnná a určuje polohu displeje.
$sim
$regfile = "m16def.dat"
Config Porta.7 = Input ' tlacitko
Config Portd.7 = Input ' tlacitko
Config Portb.7 = Input ' tlacitko
Porta.7 = 1
Portd.7 = 1
Dim Levy As Bit
Dim Pravy As Bit
Left Alias Portd.7
Right Alias Porta.7
If Portb.7 = 0 Then
Levy = Left
Pravy = Right
Else
Levy = Right
Pravy = Left
End If
Do
'Print "Levy: " ; Levy ; " Pravy: " ; Pravy
If Pravy = 0 Then
Print "stisknuto pravy"
Pravy = 1
End If
If Levy = 0 Then
Print "stisknuto levy"
Levy = 1
End If
Loop
Prosím o pomoc...
už je tam Portb.7 = 1 ...ale porad nic, restartoval jsem i SW, nekdy to pomuze, ale nic...
$sim
$regfile = "m16def.dat"
Config Porta.7 = Input ' tlacitko
Config Portd.7 = Input ' tlacitko
Config Portb.7 = Input ' tlacitko
Porta.7 = 1
Portd.7 = 1
Portb.7 = 1
Dim Levy As Bit
Dim Pravy As Bit
Left Alias Portd.7
Right Alias Porta.7
If Portb.7 = 0 Then
Levy = Left
Pravy = Right
Else
Levy = Right
Pravy = Left
End If
Do
'Print "Levy: " ; Levy ; " Pravy: " ; Pravy
If Pravy = 0 Then
Print "stisknuto pravy"
Pravy = 1
End If
If Levy = 0 Then
Print "stisknuto levy"
Levy = 1
End If
Loop