 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
rajko Član

Pridružen-a: Čet 29 Jun 2006 20:09 Prispevkov: 98 Aktiv.: 0.42 Kraj: Trbovlje
|
Objavljeno: Pon Jul 03, 2006 7:01 pm Naslov sporočila: Bascom |
|
|
Zanima me ali se kdo ukvarja tudi s programiranjem v Bascomu? |
|
Nazaj na vrh |
|
 |
robika Član

Pridružen-a: Pon 05 Apr 2004 20:55 Prispevkov: 281 Aktiv.: 1.19 Kraj: ajdovščina
|
Objavljeno: Pon Jul 03, 2006 7:14 pm Naslov sporočila: |
|
|
Seveda nas je tudi nekaj takih. Kaj te zanima?
Lp |
|
Nazaj na vrh |
|
 |
rajko Član

Pridružen-a: Čet 29 Jun 2006 20:09 Prispevkov: 98 Aktiv.: 0.42 Kraj: Trbovlje
|
Objavljeno: Pon Jul 03, 2006 8:08 pm Naslov sporočila: |
|
|
Rad bi bral stanje ene tipke, ki bi ob prvem pritisku izvedla eno operacijo ob drugem pritisku pa drugo operacijo, pri trtjem pritisku pa tretjo. Prva dva pritiska naj bi si sledila zaporedoma tretji pa po poljubnem času. Torej v zelo kratkem časovnem razmiku. Poizkušal sem z Debounce in Counterjem vendar ni delovalo kot sem želel. Ali morda pozna kdo bolj salamonsko rešitev ali je ta "edina"?
Hvala! |
|
Nazaj na vrh |
|
 |
Domenius Član



Pridružen-a: Sre 30 Nov 2005 14:15 Prispevkov: 1188 Aktiv.: 5.02 Kraj: Medvode
|
Objavljeno: Pon Jul 03, 2006 10:49 pm Naslov sporočila: |
|
|
Prilepi kodo - tisto s katero si preizkušal - bo malo lažje za nas. _________________ It's electric! |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.58
|
Objavljeno: Tor Jul 04, 2006 10:03 am Naslov sporočila: |
|
|
Ce prav razumem, potem casovni zamik ne igra nobene vloge - ce naj si trije pritiski sledijo v zaporedju, je cas med njimi irelevanten, ne glede na to, da mora uporabnik vedno pritisne 2. hitro za prvim pritiskom, 3. pa dolgo za drugim pritiskom.
Ce je temu tako, potem je vse kar potrebujes ena preprosta neskoncna zanka, ki uporablja 3x debounce in vsakic naredi doloceno stvar (za 1. pritisk v zanki nekaj, za 2. nekaj drugega, itd.). |
|
Nazaj na vrh |
|
 |
mucek Član


 
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5528 Aktiv.: 24.06 Kraj: Domzale
|
Objavljeno: Tor Avg 01, 2006 11:32 am Naslov sporočila: |
|
|
Če prav zastopim bi rad, da program dela tako, da ko prvič pritisneš tipko program naredi nekaj, nato ob naslednjem pritisku spet nekaj drugega in tako še tretjič.
Uporabi 3 do-loop zanke; v prvi gledaš prvi pritisk, v drugi drugi in v tretji tretji.
V tem primeru bi zadeva izgledala takole (brez debounce).
'pina.0 = vhod
'pinb.1 = izhod1
'pinb.2 = izhod2
'pinb.3 = izhod3
Config Porta = Input
Config portb = output
Inicializacija:
Reset portb.1
Reset portb.2
Reset portb.3
Zanka1:
Do
If pina.0 = 1 then
Set Portb.1
End If
Goto Zanka2
Loop
Zanka2:
Do
If Pina.0 = 1 Then
Set portb.2
Goto Zanka3
End if
Loop
Zanka3:
Do
If Pina.0 = 1 Then
Set portb.3
End if
Goto Kaj_sedaj
Loop
Kaj_sedaj: 'Kaj naj se zgodi po tretjem pritisku???
Goto Inicializacija 'npr. Vrnem se na začetek, izklopim vse izhode ter spet čakam na prvi pritisk
LP, Grega |
|
Nazaj na vrh |
|
 |
RGorazd Član


Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1714 Aktiv.: 7.24 Kraj: Ig
|
Objavljeno: Tor Avg 01, 2006 4:32 pm Naslov sporočila: |
|
|
Muvek, konceptualno vse ok, praktiča realizacija bo pa neuporabna. Zaradi odskakovanja kontakta tipke, ne bo pregleda, kaj se je zgodilo. To rešiš z debounce.
dim flag as bit, parameter as byte
Main:
Do
Debounce, tipka, 0, status ' ko je tipka 0, skoči na status
If parameter = 1 and flag = 1 then ' ko je parameter 1
' tukaj vmes vpiši kaj naj se zgodi po prvem pritisku
flag = 0 'ta flag postaviš, da se ti zanka izvede samo 1x
end if
if parameter = 2 and flag = 1 then
'tukaj napiši, kaj na j se zgodi po drugem pritisku
flag = 0
end if
if parameter = 3 and flag = 1 then
' tukaj napiši, kaj naj se zgodi po tretjem pritisku
parameter = 0 ' resetiraš parameter, tako da bo spet šlo s prvim pritiskom
flag = 0
end if
Loop
status:
incr parameter ' ob vsakem pritisku poveačaš parameter
flag = 1 ' postaviš flag, da se ti stvar izvede samo 1x
goto main 'skočiš v glavno zanko
To je to. Neodvisno od časa kdaj je bila tipka pritisnjena, nedovzetno na motnje odskakovanja kontakta tipke. malce več pisanja, Bascom itak kolobocija, a za se naučiti logike programiranja zadosti zmogljivo orodje, ki daje precej hitro rezultate.
Lp Gorazd _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 491 dni
Powered by phpBB © 2001, 2005 phpBB Group
|