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 

Kako prižigati s 4 tipkami 4 različne programe z attiny2313

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
elektr@nik
Član
Član



Pridružen-a: Sre 11 Maj 2016 22:07
Prispevkov: 91
Aktiv.: 0.95

PrispevekObjavljeno: Čet Maj 12, 2016 11:56 pm    Naslov sporočila:  Kako prižigati s 4 tipkami 4 različne programe z attiny2313 Odgovori s citatom

Mene zanima kako sprogramirati čip attiny2313 da bodo 4 tipke preklapljale med 4imi različnimi programi. Program bi pisal v Bascom AVR

Za pomoč se vam že v naprej zahvaljujem.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
lojzek
Član
Član



Pridružen-a: Pet 25 Jan 2008 8:00
Prispevkov: 3352
Aktiv.: 17.02

PrispevekObjavljeno: Pet Maj 13, 2016 6:07 am    Naslov sporočila:   Odgovori s citatom

Za to obstaja toliko variant, kolikor je programerjev:)

Nisem Bascom-aš, ampak preden ti kdo poda odgovor, poskusi natančneje vprašat oz razložit, kaj hočeš.
Npr meni je nejasno, če želiš imeti "fizično" 4 različne programe v uC. tako kot bi na začetku programa imel izbiro, v kateri program naj skoči in potem ostane v tem programu za večno (no ja dokler uC ne ugasneš in spet prižgeš) .
Ali pa želiš, da ko pritisneš tipko, uC izvede nek program (podprogram) in se vrne nazaj v glavni program.

No ja, saj princip je za oboje enak...
Nekje na začetku preverjaš, katera tipka je pritisnjena. Toliko časa, dokler ni pritisnjena. Potem pa skočiš tja, kamor ti pritisnjena tipka kaže. To je grob opis moje prve domneve.
Druga domneva gornji opis dopolnjuje v tem, da med čakanjem na pritisk tipke uC počne še nekaj drugega. Ko je tipka pritisnjena, pa skoči tja, kamor tipka kaže. Tam v podprogramu izvede kar mora in se potem vrne nazaj na preverjanje tipk (+ ostalo, kar takrat izvaja).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Pet Maj 13, 2016 6:55 am    Naslov sporočila:   Odgovori s citatom

Morda pa je mislil tako, da tipko pritisne za trenutek, izbran program (zaporedje) se mora pa nato izvajati ves čas, dokler ne izbere drugega.

V tem primeru je shema programa taka:

Zanka:

Preveri se stanje tipk:
Če je pritisnjena tipka X, se v stanje spremenljivke S shrani vrednost med 0 in 3 (lahko tudi 1 do 4, ob zagonu je pa 0, dokler se prvič ne pritisne neke tipke).
Če ni nič pritisnjeno, se ohrani dotedanja vrednost spremenljivke S.

Preveri se stanje spremenljivke S:
Glede na njeno vrednost se izvede izbran podprogram (zaporedje).

Ko je zaporedje dokončano, se skoči na začetek Zanke in vse skupaj se ponavlja. Po potrebi se z nekim števcem ali časom omeji število ponovitev oziroma trajanje zanke (spremenljivka S spet dobi vrednost 0).

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 610
Aktiv.: 4.45
Kraj: Vrhnika

PrispevekObjavljeno: Sob Maj 14, 2016 10:03 am    Naslov sporočila:   Odgovori s citatom

Ali hočeš da ob enkratnem pritisku se izvaja določen program ali hočeš da je treba tipko tiščati kadar se izvaja določen program?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
elektr@nik
Član
Član



Pridružen-a: Sre 11 Maj 2016 22:07
Prispevkov: 91
Aktiv.: 0.95

PrispevekObjavljeno: Sre Jun 01, 2016 8:25 pm    Naslov sporočila:   Odgovori s citatom

Jaz sem mislil da ko pritisneš prvo tipko se izvaja prvi program in izklopi druge 3 in ko pritisneš drugo tipko se vključi drugi program in izklopi druge 3 programe itd.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Čet Jun 02, 2016 7:30 am    Naslov sporočila:   Odgovori s citatom

Kakšno je sploh tvoje poznavanje Bascoma?
Poznaš osnovno strukturo programa in sintakso?
Tole si že prebral?

Kako naj bi potekal tvoj program, sem ti že zgoraj opisal. S tipkami nastavljaš vrednost spremenljivke, vse ostalo v programu pa se izvaja v odvisnosti od te vrednosti.

Za osnovo poišči en celoten, povsem delujoč in dovolj obširen program, ki vsebuje tipke, podprograme, števce, ... nato pa vrstice nadomeščaj s svojimi.

Jaz ne delam z Bascomom, zato lahko le z besedami opišem program.
Koda:

Do
 pBereTipke ; skoči prebrat tipke in se vrne z znano novo vrednostjo spremenljivke tipk St

 If St=1 , kliče podprogram pZap1
 If St=2 , kliče podprogram pZap2
 If St=3 , kliče podprogram pZap3
 If St=4 , kliče podprogram pZap4
Loop

;;; podprogrami
pBereTipke
 If pinTipka1 , St = 1
 If pinTipka2 , St = 2
 If pinTipka3 , St = 3
 If pinTipka4 , St = 4
Return

pZap1 ; zaporedje 1
 izhod1 = 1
 Wait 1
 izhod2 = 0
 Wait 1
Return

pZap2 ; zaporedje 2
 izhod1 = 1
Wait 2
  izhod1 = 0
Wait 2
Return

pZap3
  izhod1 = 1
 Wait 1
  izhod1 = 0
 Wait 2
Return

pZap3
 izhod1 = 1
 Wait 1
 izhod1 = 0
 Wait 3
Return

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Obelix
Član
Član



Pridružen-a: Pon 19 Maj 2008 13:59
Prispevkov: 1862
Aktiv.: 9.64
Kraj: Maribor

PrispevekObjavljeno: Čet Jun 02, 2016 8:27 am    Naslov sporočila:   Odgovori s citatom

elektr@nik je napisal/a:
Jaz sem mislil da ko pritisneš prvo tipko se izvaja prvi program in izklopi druge 3 in ko pritisneš drugo tipko se vključi drugi program in izklopi druge 3 programe itd.

Razloži podrobneje kaj naj bi tvoj program (oiroma štirje programi) počel. Ne vidim smisla oziroma potrebe po štirih programih. Čeprav gre najbrž samo za nesporazum o tem, kaj sploh je "program".
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Bascom sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
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: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group