Kazalo po Svet elektronike forumu Svet elektronike
Revija za prave elektronike
 
AlbumAlbum   Pomoč pogostih vprašanjPomoč pogostih vprašanj   IščiIšči   Seznam članovSeznam članov   Skupine uporabnikovSkupine uporabnikov   Registriraj seRegistriraj se 
 Tvoj profilTvoj profil   Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil   PrijavaPrijava 

ds1820 in tipke, BASCOM ?

 
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Boštjan
Profesionalec


Pridružen/-a: Tor Mar 2004 22:48
Prispevkov: 100

PrispevekObjavljeno: Sob Apr 30, 2011 7:11 am    Naslov sporočila: ds1820 in tipke, BASCOM ? Odgovori s citatom

Naredil sem si termostat z DS1820, sedaj pa bi še malo software izpilil.
Zanima me nasledne. Iz glavnega programa skačem v SUB DS1820 v vsakem prehodu pograma. Moti pa me ker ima DS1820 v svoji rutini ukaz waitms 250, kar nekoliko upočasni program in se dogaja da ko pritiskam tipke le-te ne reagirajo takoj, zanimame kako to rešit. Ali bi lahko naredil rutino za meritev temperature mimo programa, da bi le-ta delovala samostojno in bi klical samo vrednost temperature po potrebi.

LP Boštjan
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Ned Maj 01, 2011 11:21 pm    Naslov sporočila: Odgovori s citatom

Ja, pri DS1820 gre meritev v dveh fazah, med katerima mora preteči določen minimalen čas.

Jaz običajno obrnem zaporedje ukazov in sicer
- najprej čitam konvertirano temperaturo (ko prvič vstopim v zanko, se ta ukaz sfiži in dobim neveljavno informacijo, ampak samo prvič)
- takoj nato, brez čakanja startam nov convert temperature, a razultat bom bral, ko se vrnem v zanko
- potem reagiram na prej prebrano temperaturo, kar je pač potrebno
tukaj opravim vse potrebno delo, kar potrebuje čas, ki in hkrati daje čas termometrom za konvert
- in nazaj v zanko, kjer bom bral temperaturo

ja, če ima mikroprocesor premalo dela, da bi pokuril 250msec, bo pa potrebno v zanko dati še mali wait

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Jure
Urednik


Pridružen/-a: Pon Jan 2004 12:51
Prispevkov: 2132
Kraj: Ljubljana

PrispevekObjavljeno: Ned Maj 01, 2011 11:24 pm    Naslov sporočila: Odgovori s citatom

Boštjan,

verjamem, da te to moti vendar se moraš odločiti: ali bodo imele prioriteto tipke (in v tem primeru izmeriš temperaturo takrat, ko spustiš tipko), ali pa da ima prioriteto DS1820, ki pa potrebuje svoj čas, da opravi meritev.

Še tretja možnost je, da meriš temperaturo na vsako minuto, vmes pa seveda ne bo problem zaznati tipke.

Lp
Jure
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Ned Maj 01, 2011 11:26 pm    Naslov sporočila: Odgovori s citatom

Če je potrebno zaznavati tipke, potem je potrebno zakasnitve programirati s pomočjo timerja, tipke pa odtipavati brez prekinitev.

No druga varianta je, da tipke vežeš na pine, ki generirajo prekinitve in na osnovi zuanje prekinitve zaznaš tipko

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Boštjan
Profesionalec


Pridružen/-a: Tor Mar 2004 22:48
Prispevkov: 100

PrispevekObjavljeno: Pon Maj 02, 2011 9:05 am    Naslov sporočila: jaz sem si zamislil nekaj takega Odgovori s citatom

jaz sem si zamislil nekaj takega , da bi senzorju ukaz naj začne s svojim delom potem pa ne bi čakal na rezultat, ampak bi pustil program skozi , šele nato bi vzel temperaturo s senzorja po kaki sekundi, res da bi bila temperatura stara kako sekundo , ampak tega mi ne more nihšče zamerit, sedaj samo potrebujem idejo kako to naredit, bo treba kak timer vključit.

LP Boštjan
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Pon Maj 02, 2011 9:48 am    Naslov sporočila: Re: jaz sem si zamislil nekaj takega Odgovori s citatom

Boštjan je napisal/a:
jaz sem si zamislil nekaj takega , da bi senzorju ukaz naj začne s svojim delom potem pa ne bi čakal na rezultat, ampak bi pustil program skozi , šele nato bi vzel temperaturo s senzorja po kaki sekundi, res da bi bila temperatura stara kako sekundo , ampak tega mi ne more nihšče zamerit, sedaj samo potrebujem idejo kako to naredit, bo treba kak timer vključit.

LP Boštjan


Ali imaš program AVRtimer.exe, ki ti generira kodo za timer?

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Boštjan
Profesionalec


Pridružen/-a: Tor Mar 2004 22:48
Prispevkov: 100

PrispevekObjavljeno: Pon Maj 02, 2011 1:23 pm    Naslov sporočila: ja Odgovori s citatom

ja imam , zelo pomaga ni treba nič računat
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Pon Maj 02, 2011 2:04 pm    Naslov sporočila: Odgovori s citatom

Tudi jaz sem len in se mi ne da računat, če ni treba in to lahko naredi kdo drug.

No potemtakem bi jaz programiral s pomočjo timerexe timer podprogram, ki bi vsako sekundo postavil bit zastavico recimo zastavicabit.

V zanki glavnega programa pa bi spraševal na ta bit in vse kar je programirano v med if in endif se zgodi samo vsako sekundo, tisto pa kar je izza end if in pred loop pa se stalno odvija, tam bi spraševal po tipkah.
Načelno nekako tako:
Koda:

do
    if zastavicabit = 1 then
         zastavicabit = 0
        ' tukaj vse, kar naj se odvije enkrat v sekundi
        ' branje temperature in ukrepanje glede na temperaturo
    endif
   
    ' tukaj vse kar se stalno odvija,
    ' odtipavanje tipk in podobno, kar mora biti
     ' stalno aktivno
    '  ....
loop

_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Boštjan
Profesionalec


Pridružen/-a: Tor Mar 2004 22:48
Prispevkov: 100

PrispevekObjavljeno: Pon Maj 02, 2011 7:49 pm    Naslov sporočila: dela ok Odgovori s citatom

sprogramirano in deluje 100% dobro , tipke delujejo odlično brez vsake zakanitve , pa tudi programa se je kuj nekaj nabralo

LP Boštjan
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Profesionalec


Pridružen/-a: Pon Jan 2004 11:54
Prispevkov: 807
Kraj: Ljubljana

PrispevekObjavljeno: Pon Maj 02, 2011 10:52 pm    Naslov sporočila: Odgovori s citatom

Tak odgovor rad imam
_________________
Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih.
Nazaj na vrh
Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo    Kazalo po Svet elektronike forumu -> Digitalna elektronika Časovni pas GMT + 1 ura, srednjeevropski - zimski č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
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group