|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
reber Profesionalec
Pridružen/-a: Pon Jan 2004 9:40 Prispevkov: 187 Kraj: Bled
|
Objavljeno: Sob Mar 05, 2005 2:58 pm Naslov sporočila: branje vhoda in postavitev izhodov v bascomu |
|
|
V bascomu sem začel pisati en preprost programček, služil pa mi bo za polnjenje in ciklanje baterij
Naletel pa sem na en problemček. Če za branje vhodov napišem:
Citiram: | Do
Bat = P3.6
Cikel = Not P3.7 |
stanje vhodov berem takoj na začetku do / loop zanke, tako da vpišem spremenljivko. Prva spremenljivka je P3.6 ki je pri 89C2051 izhod analognega komparatorja in jo normalno bere in vpiše, druga spremenljivka pa se noče vpisati če je uporabljena negacija not, brez negacijo not pa vhod normalno prebere in vpiše spremenljivko. Če je uporabljen not potem mi spremenljivko vpiše vedno 0 (vsaj kaže tako ko program teče) ne glede na stanje vhoda. Brez not deluje normalno, le v programu kjer berem spremenljivko, uporabim kontra stanje.
Ali je tako branje vhodov in vpis spremenljivke z uporabo not sploh pravilna???
vpis izhodov na ta način deluje normalno z not ali brez not, kar pač rabim.
PS: sem popoln začetnik, ki zna nekako uporabljati if stavke in te preproste zadeve in uspelo mi je celo skonfigurirati timer da imam generiran 1 sekundni takt da bom lahko meril čas polnjenja baterije za konkretno aplikacijo |
|
Nazaj na vrh |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Sob Mar 05, 2005 4:01 pm Naslov sporočila: branje vhodov |
|
|
Tole pa ne bo prav:
Bat = P3.6
Cikel = Not P3.7
V help-u poglej ukaz "ALIAS" in bos resil problem.
Vlado |
|
Nazaj na vrh |
|
|
reber Profesionalec
Pridružen/-a: Pon Jan 2004 9:40 Prispevkov: 187 Kraj: Bled
|
Objavljeno: Sob Mar 05, 2005 8:26 pm Naslov sporočila: |
|
|
Tisto v helpu mi bolj malo pomaga.
Če zamenjam enačaj z besedo alias, mi pri kompajlanju vrže dva errorja ven, pri syntax check pa nič errorjev.
ko pa sem brisal vrstico Dim Cikel As Bit pa je bilo v redu. Torej pri alias ne rabim vpisovat dim as bit , ali kaj? ali to pomeni da je že samoumevno pri alias da je spremenljivka bit in to ni potrebno posebej povedati programu?
Sem poskusil namesto enačaja z alias in deluje, seveda pa sem moral pobrisati še zgoraj omenjeno vrstico dim cikel as bit
Ko pa sem poskusil cikel alias not p3.7 pa je isto kot z enačajem. Enostavno ne deluje.
Zakaj pa bi rad negiral, pa je zato, ker se pač porti ponavadi vežejo na 0 in to pomeni logično nič in je ravno obratno, zato malo čudno zgleda v programu, sploh če sem navajen pozitivne logike in ne negativne kot je tole tukaj.
Pri izhodih delam ravno tako, npr za prižiganje ledice postavljam izhod npr P1.5 = not ledpoln ker v programu pišem tako, da je 1 prižgana ledica, izhod pa v bistvu mora dati 0 za prižgano ledico iz vsem znanega vzroka, ker se ledice priključijo med +5v in izhod.
Ravno tako bi rad naredil pri branju vhodov da bi zadevo negiral. Saj vem, lahko negiram tako, da dodam še eno spremenljivko in to negiram, vhod pa berem brez negiranja, ampak v tem primeru imam eno spremenljivko več samo zato. In če se ne da drugače, bom dodal spremenljivko samo zaradi tega.
Ali obstaja enostaven način negiranja pri branju vhodov?
Pri postavljanju izhodov negiranje ne predstavlja nobene ovire.
Če napišem takole
Citiram: |
...
Do
Bat = P3.6
Cikel1 = P3.7
Cikel = Not Cikel1
... |
potem deluje tako kot želim. Zato pa sem moral uporabiti dodatno spremenljivko.
V programu imam samo dva vhoda, en je izhod komparatorja ki mi pove če je baterija izpraznjena, z drugim pa povem programu ali naj po končanem polnjenju spet prazni baterijo in jo potem spet polni, torej cikla, če pa cikel ni vklopljen pa baterijo samo izprazni in jo napolni, potem se ustavi. |
|
Nazaj na vrh |
|
|
strobos Mojster
Pridružen/-a: Tor Jan 2004 17:26 Prispevkov: 32 Kraj: LJ
|
Objavljeno: Sob Mar 05, 2005 10:26 pm Naslov sporočila: |
|
|
Pozdrav,
tam ne rabiš nove spremenljivke Cikel, lahko kar napišeš:
Cikel1=Not Cikel1
Lp |
|
Nazaj na vrh |
|
|
reber Profesionalec
Pridružen/-a: Pon Jan 2004 9:40 Prispevkov: 187 Kraj: Bled
|
Objavljeno: Sob Mar 05, 2005 10:31 pm Naslov sporočila: |
|
|
Uh, pa res, tako preprosto, pa mi ni prišlo na misel, čeprav točno to finto uporabljam v tem programu za utripanje led diode
No, polnilec že deluje, program sem preveril tako, da sem mu spremenil nekaj števil ki so v števcih za deljenje, da je čas hitro minil.
Imam pa za ciklat cel kup baterij od mobitelov ericsson ga 628 to so baterije AAA 650mAh ki so v glavnem še dobre, le malce zaspane, pa so telefoni slabo delovali. Polnim jih s cca 105mA 7ur, pustil pa bom nekaj dni da se cikla, potem zamenjam baterije.
Da se vrnemo k temi, no, zvedel sem točno to kar sem želel, le ena zadeva je, če bo nekdo potrdil, da tista moja teorija o branju vhoda in negiranju z not ni pravilna v nobenem primeru.
No, negirati jo je preprosto s še eno vrstico brez nove spremenljivke. |
|
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 You cannot attach files in this forum You cannot download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|