www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Bascom AVR - tipka ne dela
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika za začetnike
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
roby13
Član
Član



Pridružen-a: Tor 19 Okt 2010 19:23
Prispevkov: 55
Aktiv.: 0.31
Kraj: Ve

PrispevekObjavljeno: Pon Feb 07, 2011 9:21 pm    Naslov sporočila:  Bascom AVR - tipka ne dela Odgovori s citatom

Pozdravljeni,

pred kratkim sem že odprl temo, pod naslovom Bascom AVR konfiguriranje portov.
Sedaj imam še majhen problem.Program sem naložil na ploščo in vezje tudi deluje.

Program naj bi se ob pritisku na tipko zagnal in deloval dokler ne bi še enkrat pritisnil na tipko (da bi se program izklopil)

Vendar temu ni tako Program se začne že izvajati z priklopom na baterijo in se ugasne ko tipko držim, jaz bi pa rad , da tipko enostavno z enim samim pritiskom program vklopim in ga tudi izklopim.

Lepo bi prosil za pomoč, ker res ne vem zakaj to ne deluje.

Prilagam tudi program.

HVala za vse odgovore . LP



Letece_lucke.rar
 Opis:

Download
 Ime datoteke:  Letece_lucke.rar
 Velikost datoteke:  544 Bytov
 Downloadano:  15 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
RGorazd
Član
Član



Pridružen-a: Čet 20 Maj 2004 15:57
Prispevkov: 1715
Aktiv.: 7.22
Kraj: Ig

PrispevekObjavljeno: Pon Feb 07, 2011 10:03 pm    Naslov sporočila:   Odgovori s citatom

Žal se iz same kode ne vidi vsega. Kako imaš tipke vezane? Na +5V s pull-up uporom in med maso? Če je tako, ali pa če imaš vklopljene notranje upore, potem je logično da ti program štarta, ker je tipka dokler je ne stisneš na "1". Uporabi ukaz debounce.

Debounce tipka, flag_0_1

if flag = 1 then

napravi svoje

end if


flag_0_1:

toggle flag


Jaz bi tako rešil.


LP G

_________________
.
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._|
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
roby13
Član
Član



Pridružen-a: Tor 19 Okt 2010 19:23
Prispevkov: 55
Aktiv.: 0.31
Kraj: Ve

PrispevekObjavljeno: Pon Feb 07, 2011 10:10 pm    Naslov sporočila:   Odgovori s citatom

Hvala ti za odgovor.

Naj odgovorim na tvoje vprašanje.
Tipka s katero bi rad reguliral stvar je vezana iz mase na MP.

Sklenil sem da bi rad stvar samo ugasnil s pritiskom na tipko. Stvar pa naj kar začne delovati ko priklopim na napajanje.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3367
Aktiv.: 14.17
Kraj: Dragomer

PrispevekObjavljeno: Tor Feb 08, 2011 10:25 am    Naslov sporočila:   Odgovori s citatom

Tvojega programa ne vidim, nimam RAR programa.

Bascom ima za odtipavanje tipk lep ukaz Debounce. Kako deluje boš videl v Help-u.
Potrebuje pa " pullup" upor 10k poleg same tipke, seveda pa je lahko tudi interni pullup upor, ki ga moraš pravilno vključiti. Hja, pa tudi tipko je potrebno konfigurirati kot Input.

Primer kode tipke na D.4:
Deklaracije:
Koda:
' vključi interni pullup :
Portd.4 = 1
Tipka Alias Pind.4
Config Tipka = Input

Odtipavanje tipke:
Koda:
  Debounce Tipka , 0 , Tipkasr , Sub   

Pomeni: ko boš pritisnil tipko, se bo odvil podprogram z imenom Tipkasr, ki mora seveda biti nekje napisan.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
roby13
Član
Član



Pridružen-a: Tor 19 Okt 2010 19:23
Prispevkov: 55
Aktiv.: 0.31
Kraj: Ve

PrispevekObjavljeno: Tor Feb 08, 2011 10:52 am    Naslov sporočila:   Odgovori s citatom

Hvala za odgovor.

samo zanima , kako je pa potem z ugašanjem celotne stvari.

P.S : če imaš winzip lahko RAR datoteko odpreš tudi z njim ali pa z katerimkoli drugim programom za arhiviranje datotek.

Če ti bo lažje pa lahko program kopiram tudi v Notepad in pripnem zraven.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3367
Aktiv.: 14.17
Kraj: Dragomer

PrispevekObjavljeno: Tor Feb 08, 2011 10:55 am    Naslov sporočila:   Odgovori s citatom

Moj winzip ni mogel odpreti tvoje .rar datoteke.

Tako tudi ne vem, kaj imaš v mislih, ko govoriš o ugašanju.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
roby13
Član
Član



Pridružen-a: Tor 19 Okt 2010 19:23
Prispevkov: 55
Aktiv.: 0.31
Kraj: Ve

PrispevekObjavljeno: Tor Feb 08, 2011 11:03 am    Naslov sporočila:   Odgovori s citatom

Mislil sem, da bi s preprostim pritiskom na tipko ugasnil celotno stvar torej, program se izvaja dokler ne pritisnem na tipko, da bi se celotna stvar ugasnila.

To sem že poskušal že z tistim delom programa, ki ga boš videl spodaj, vendar neuspešno.

V programu, ki ga bom priložil v notepadu pa sem moral do zdaj, če sem hotel celotno zadevo ugasniti tipko držati.

LP



Letece_lucke.txt
 Opis:

Download
 Ime datoteke:  Letece_lucke.txt
 Velikost datoteke:  1.85 KB
 Downloadano:  6 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.65
Kraj: Mengeš

PrispevekObjavljeno: Tor Feb 08, 2011 11:14 am    Naslov sporočila:   Odgovori s citatom

Seveda, saj si program tako napisal. V programu imaš stavek: If Tipka1 = 1 Then naredi nekaj. To pomeni če držiš tipko nekaj dela, drugače ne (ali obratno). RGorazd ti je lepo razložil kako naredi. Naredi tako kot ti je on napisal pa bo. Pritisk tipke ti ne sme pogojevati izvedbe celotnega programa ampak samo spremeniti stanje neke spremenljivke (npr flag). Glavni program gleda ta flag in če je 1 izvede program drugače ne. Na začetku pa postaviš flag=1 tako da se ob priklopu program takoj začne izvajati.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
roby13
Član
Član



Pridružen-a: Tor 19 Okt 2010 19:23
Prispevkov: 55
Aktiv.: 0.31
Kraj: Ve

PrispevekObjavljeno: Tor Feb 08, 2011 11:22 am    Naslov sporočila:   Odgovori s citatom

OK, najlepša hvala vsem za odgovore malo sem si še prebral v help-u o Debouncu, sedaj se bom pa, kar lotil zadeve .

Samo še nekaj. Kaj pa je s tistim toogle flag ali nekaj takega, ali je to mogoče za ugašanje.?

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.65
Kraj: Mengeš

PrispevekObjavljeno: Tor Feb 08, 2011 11:29 am    Naslov sporočila:   Odgovori s citatom

ukaz Toggle ti spremeni stanje spremenljivke - če je 1 ti jo postavi na nič, če je nič ti jo postavi na 1. S tem dosežeš da če je flag=1 ti program izvaja, če je flag=0 ti ga pa ne. To ime je samo naključno izbrano. Lahko daš drugo ime namesto flag, recimo izvajaj, ali stanje, ....miljon variant. Poanta je samo da v tvoj IF stavek namesto IF tipka=1 daš ukaz: IF flag=1. S tem da boš moral tipko držati kar nekaj časa (toliko da se izvede celoten IF stavek) da ti program prebere vhodni port in spremeni stanje.
V bistvu je toggle enak ukazu: IF flag=1 THEN flag=0 ELSE flag=1


Nazadnje urejal/a protoncek Tor Feb 08, 2011 11:32 am; skupaj popravljeno 1 krat
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
roby13
Član
Član



Pridružen-a: Tor 19 Okt 2010 19:23
Prispevkov: 55
Aktiv.: 0.31
Kraj: Ve

PrispevekObjavljeno: Tor Feb 08, 2011 11:31 am    Naslov sporočila:   Odgovori s citatom

Najlepša hvala za odgovor.

LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.65
Kraj: Mengeš

PrispevekObjavljeno: Tor Feb 08, 2011 11:33 am    Naslov sporočila:   Odgovori s citatom

Prišlo je do pomote---sem popravil. Preberi še enkrat...sorry!
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
klemen88
Član
Član



Pridružen-a: Tor 01 Jan 2008 17:37
Prispevkov: 747
Aktiv.: 3.50
Kraj: Slovenj Gradec

PrispevekObjavljeno: Tor Feb 08, 2011 11:36 am    Naslov sporočila:   Odgovori s citatom

Bolje bi bilo, da bi program napisal z interrupti! Tako bi ti program takoj reagiral, ko bi pritisnil na tipko. Če delaš z IF stavki mora priti program "okoli" da zopet prebere vhod tipke.

OT: Za kateri predmet imaš to? Tudi sam sem hodil v Velenje in me zanima Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
roby13
Član
Član



Pridružen-a: Tor 19 Okt 2010 19:23
Prispevkov: 55
Aktiv.: 0.31
Kraj: Ve

PrispevekObjavljeno: Tor Feb 08, 2011 11:41 am    Naslov sporočila:   Odgovori s citatom

Z temi interrupti kot si rekel še nismo delali. Smo bolj še začetniki . Very Happy

Citiram:
Bolje bi bilo, da bi program napisal z interrupti! Tako bi ti program takoj reagiral, ko bi pritisnil na tipko. Če delaš z IF stavki mora priti program "okoli" da zopet prebere vhod tipke.

OT: Za kateri predmet imaš to? Tudi sam sem hodil v Velenje in me zanima


Predmet : IS 2 ( informacijski sistemi)
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.65
Kraj: Mengeš

PrispevekObjavljeno: Tor Feb 08, 2011 11:43 am    Naslov sporočila:   Odgovori s citatom

Res je, z interrupti bi bilo bolje. Ampak ti najprej naredi, da bo delalo kot si si zamislil, potem pa poskusi še z Interrupti.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika za začetnike Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
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: 11 dni


Powered by phpBB © 2001, 2005 phpBB Group