BASCOM tlacitko1
Moderátor: Moderátoři
Config Portd.7 = Input
Pina.7 = 1
Pind.7 = 1
Dim Levetlacitko As Bit
Dim Pravetlacitko As Bit
Do
Levetlacitko = Pina.7
Pravetlacitko = Pind.7
If Pravetlacitko = 0 Then
Locate 1 , 1
Lcd "prave"
Locate 2 , 1
Lcd " "
End If
If Levetlacitko = 0 Then
Locate 2 , 1
Lcd "leve"
Locate 1 , 1
Lcd " "
End If
Locate 3 , 1
Lcd Levetlacitko ; Pravetlacitko
Loop
End
Nefunguje?
Edit: upravena ta smyčka
Musíš mít nějakou informaci, na základě které poznáš, zda je displej normálně či vzhůru nohama.
Pak už jen odskočíš do sekce, která bude řešit už konkrétní problém - pohyb kurzoru na základě tlačítek. A stav těch tlačítek budeš sledovat v sekci, ke které patří.
myslel jsem si, že to bude jednoduchá úloha, ale není..
Opravdu, Michalino, po deseti měsících studia Bascomu je pro tebe těžká úloha přehodit dvě proměnné?
Potom se obávám že, při všem respektu, než se dostaneš ke grafickým displejům a hrám, tak Atmely už se třeba nebudou vyrábět.
Zkus toto
Kód: Vybrat vše
Do
Levetlacitko = Pina.7
Pravetlacitko = Pind.7
If Pinb.7 = 1 Then Swap Levetlacitko , Pravetlacitko
...
...
Edit:
Andrea mne předběhla s tímtéž
S tím BIT to ale nefunguje tak, že když stisknu tlačítko, zahájím nějakou funkci a když ho pustím, tak ta funkce skončí...
to funguje tak, že stisknu tlačítko, zahájím funkci ....ale jak pustím tlačítko, stejně funkce neskončí, protože to skončí, až když znovu najede do ... loop a když se načtou stavy tlačítek... tak mi to teď přijde...
nemůžu hlídat délku stisknutí tak jako u normálně řešených tlačítek bez BIT, tedy pouze tlacitko alias portd5 třeba...
dá se toto nějak řešit (bez přerušení)? Nebo to BIT délku stisku řešit neumí?
děkuji
Dimension XXX as bit
česky:
velikost místa pro XXX nastav na hodnotu bit, nebo-li přiděl v paměti proměnných místo na hodnotu o velikosti bit ( může nabývat hodnot 1 nebo 0).
Klidně si ta tlačítka nadeklaruj jako byte, ale stejně budou mít hodnotu pouze 00000000 nebo 00000001.
Jinak bit nic nedělá ani netestuje. Je to pouze rozměr, stejně jako byte, word, integer...
Když běží nějaká smyčka (do..loop) a v ní se testují nějaké podmínky, tak podle těch podmínek se pak provádí následná akce. Neboli podmíněné větvení programu. Až se provede to co bylo naprogramováno jako reakce na tu podmínku, tak se buď pokračuje dál, nebo se můžeš vrátit na začátek, či někam jinam. Například skokem.
Ale cos tím má společného bit v deklaraci nechápu..
už nechci psát hlouposti, jdu o tom více načíst..protože tak to můžou být opravdu bludy, je toho tady napsáno určitě víc než dost i příklady, zítra budu studovat, děkuji všem !!
Zvlášť POPOPEPE