|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
bsti123 Neznanec
Pridružen-a: Čet 20 Dec 2007 18:25 Prispevkov: 8 Aktiv.: 0.04 Kraj: ok. Celja
|
Objavljeno: Tor Dec 25, 2007 10:28 pm Naslov sporočila: |
|
|
Malce popravka šele zdajle sem opazil da sem imel nastavljeno na flashrom ne pa na eeprom.Nastavil sem na eeprom kjer mi program zapiše nakar ga hočem spet prebrati iz čipa mi prebere prazne bite.
Hvala
Lp Boštjan |
|
Nazaj na vrh |
|
|
dkone Član
Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2105 Aktiv.: 10.09 Kraj: Krško
|
Objavljeno: Tor Dec 25, 2007 10:29 pm Naslov sporočila: |
|
|
Preveri nastavitve LPT. Na koliko imaš nastavljen port delay? _________________ Denis |
|
Nazaj na vrh |
|
|
dkone Član
Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2105 Aktiv.: 10.09 Kraj: Krško
|
Objavljeno: Tor Dec 25, 2007 10:30 pm Naslov sporočila: |
|
|
bsti123 je napisal/a: |
Malce popravka šele zdajle sem opazil da sem imel nastavljeno na flashrom ne pa na eeprom.Nastavil sem na eeprom kjer mi program zapiše nakar ga hočem spet prebrati iz čipa mi prebere prazne bite.
Hvala
Lp Boštjan |
Ti vpisuješ v flash ne v eeprom. _________________ Denis |
|
Nazaj na vrh |
|
|
bsti123 Neznanec
Pridružen-a: Čet 20 Dec 2007 18:25 Prispevkov: 8 Aktiv.: 0.04 Kraj: ok. Celja
|
Objavljeno: Tor Dec 25, 2007 10:33 pm Naslov sporočila: |
|
|
LPT address na :378
port delay pa na :0 |
|
Nazaj na vrh |
|
|
strobos Član
Pridružen-a: Sre 24 Sep 2003 12:19 Prispevkov: 726 Aktiv.: 3.26 Kraj: Brežice
|
Objavljeno: Tor Dec 25, 2007 11:51 pm Naslov sporočila: |
|
|
Probaj povečati port delay.
Lp |
|
Nazaj na vrh |
|
|
megasert Član
Pridružen-a: Pet 16 Nov 2012 16:52 Prispevkov: 21 Aktiv.: 0.15 Kraj: LJUBLJANA
|
Objavljeno: Pon Feb 10, 2014 7:21 pm Naslov sporočila: težava - začetnik |
|
|
Zdravo
Sem čisti začetnik bascoma in imam težavo pri izklopu nekega podprograma. zanima me recimo, če imam takole:
main:
Do
Debounce Pinb.0 , 0 , Program
loop
program:
Do
Toggle Portd
Waitms 50
If Pinb.2 = 0 Then
Return
End If
Loop
težava se pojavi, ko želim skočiti nazaj v osnovni program (main) med ukazom waitms 50. Tako da moraš ciljati kdaj pritisnit da bo delovalo.
Spomnil sem se tegale:
Program:
Do
Toggle Portd
Waitms 25
If Pinb.2 = 0 Then
Return
End If
Waitms 25
If Pinb.2 = 0 Then
Return
End If
Loop
torej čas razbijem na manjše dele in dam vmes ukaze RETURN
ali je to smiselno in ali obstaja kakšen enostavnejši oz. boljši način?
hvala in lp |
|
Nazaj na vrh |
|
|
integrerc Član
Pridružen-a: Sob 23 Sep 2006 14:50 Prispevkov: 423 Aktiv.: 1.98 Kraj: Novo mesto
|
Objavljeno: Pon Feb 10, 2014 7:27 pm Naslov sporočila: |
|
|
recimo glej tipko v interupt rutini... _________________ Lep pozdrav! |
|
Nazaj na vrh |
|
|
megasert Član
Pridružen-a: Pet 16 Nov 2012 16:52 Prispevkov: 21 Aktiv.: 0.15 Kraj: LJUBLJANA
|
Objavljeno: Pon Feb 10, 2014 7:35 pm Naslov sporočila: |
|
|
Ajej to pa še ne vem kaj bi bilo... mi lahko razložiš mogoče? |
|
Nazaj na vrh |
|
|
integrerc Član
Pridružen-a: Sob 23 Sep 2006 14:50 Prispevkov: 423 Aktiv.: 1.98 Kraj: Novo mesto
|
Objavljeno: Pon Feb 10, 2014 8:17 pm Naslov sporočila: |
|
|
Verjetno je v help-u bascoma prikazana uporaba interrupt-a.
Ko si v wait-u, takrat ne moreš preverjati še vhod in tako ne zaznaš pritiska na tipki na določenem vhodu. Če uporabiš interrupt, pa ti bo procesor takoj ko bo začutil nekaj na določenem vhodu (in ne glede kje se trenutno nahaja) skočil v interupt rutino, kjer si boš na hitro zabeležil, da je bila tipka pritisnjena in nato nadaljeval glavni program. Na ta način boš vedno ujel pritisk na tipki... _________________ Lep pozdrav! |
|
Nazaj na vrh |
|
|
HeBird Član
Pridružen-a: Ned 16 Avg 2009 16:36 Prispevkov: 79 Aktiv.: 0.44 Kraj: Domžale
|
Objavljeno: Pon Feb 10, 2014 9:54 pm Naslov sporočila: |
|
|
Saj tega je dosti po internetu, vseeno ti lepim:
http://www.qsl.net/p/pa3ckr/bascom%20and%20avr/interrupts/index.html
"Direkt" za tvoj primer.
Pomembno je tudi, da tipko vežeš na vhod, ki je hardwersko določen kot interrupt. Drugi vhodi ne bojo delovali kot interrupti. To pa najdeš tako, da pogledaš v datasheetu tvojega mikrokontrolerja, kje imaš INT0, INT1 ipd. _________________ Gašper |
|
Nazaj na vrh |
|
|
megasert Član
Pridružen-a: Pet 16 Nov 2012 16:52 Prispevkov: 21 Aktiv.: 0.15 Kraj: LJUBLJANA
|
Objavljeno: Pon Feb 10, 2014 10:01 pm Naslov sporočila: |
|
|
hvala zdaj razumem.
lp |
|
Nazaj na vrh |
|
|
edo11 Član
Pridružen-a: Pet 07 Maj 2010 9:19 Prispevkov: 65 Aktiv.: 0.38 Kraj: Komen
|
Objavljeno: Pon Feb 10, 2014 10:13 pm Naslov sporočila: Re: težava - začetnik |
|
|
megasert je napisal/a: |
Zdravo
Sem čisti začetnik bascoma in imam težavo pri izklopu nekega podprograma. zanima me recimo, če imam takole:
main:
Do
Debounce Pinb.0 , 0 , Program
loop
program:
Do
Toggle Portd
Waitms 50
If Pinb.2 = 0 Then
Return
End If
Loop
težava se pojavi, ko želim skočiti nazaj v osnovni program (main) med ukazom waitms 50. Tako da moraš ciljati kdaj pritisnit da bo delovalo.
Spomnil sem se tegale:
Program:
Do
Toggle Portd
Waitms 25
If Pinb.2 = 0 Then
Return
End If
Waitms 25
If Pinb.2 = 0 Then
Return
End If
Loop
torej čas razbijem na manjše dele in dam vmes ukaze RETURN
ali je to smiselno in ali obstaja kakšen enostavnejši oz. boljši način?
hvala in lp |
V podprogramu uporabi zanko WHILE / WEND namesto DO / LOOP in brez zakasnitev. _________________ Lp Edo. |
|
Nazaj na vrh |
|
|
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.03 Kraj: Dragomer
|
Objavljeno: Tor Feb 11, 2014 8:08 am Naslov sporočila: |
|
|
Oglej si v help-u razliko med
Koda: |
Debounce Pinb.0 , 0 , Program |
in
Koda: |
Debounce Pinb.0 , 0 , Program , SUB |
V prvem slučaju ne pričakuješ, da se vrne, med tem ko v drugem slučaju je to skok na podprogram, ki se mora vrniti z Return |
|
Nazaj na vrh |
|
|
forest70 Član
Pridružen-a: Ned 20 Jul 2008 1:00 Prispevkov: 588 Aktiv.: 3.06 Kraj: Koper
|
Objavljeno: Tor Feb 11, 2014 10:16 am Naslov sporočila: |
|
|
Na kratko: GROZA
Pri tako kratkem programu, so tako veliki problemi. Edina pametna rešitev je uporaba TIMER-ja in njegov pripadajoči interupt in uporaba interupta na pinih kjer je tipka!!
Pozabite na debunce in na waitms pa bo šlo |
|
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: 74 dni
Powered by phpBB © 2001, 2005 phpBB Group
|