|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Boštjan Profesionalec
Pridružen/-a: Tor Mar 2004 22:48 Prispevkov: 100
|
Objavljeno: Sob Apr 30, 2011 7:11 am Naslov sporočila: ds1820 in tipke, BASCOM ? |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Ned Maj 01, 2011 11:21 pm Naslov sporočila: |
|
|
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 |
|
|
Jure Urednik
Pridružen/-a: Pon Jan 2004 12:51 Prispevkov: 2132 Kraj: Ljubljana
|
Objavljeno: Ned Maj 01, 2011 11:24 pm Naslov sporočila: |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Ned Maj 01, 2011 11:26 pm Naslov sporočila: |
|
|
Č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 |
|
|
Boštjan Profesionalec
Pridružen/-a: Tor Mar 2004 22:48 Prispevkov: 100
|
Objavljeno: Pon Maj 02, 2011 9:05 am Naslov sporočila: jaz sem si zamislil nekaj takega |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pon Maj 02, 2011 9:48 am Naslov sporočila: Re: jaz sem si zamislil nekaj takega |
|
|
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 |
|
|
Boštjan Profesionalec
Pridružen/-a: Tor Mar 2004 22:48 Prispevkov: 100
|
Objavljeno: Pon Maj 02, 2011 1:23 pm Naslov sporočila: ja |
|
|
ja imam , zelo pomaga ni treba nič računat |
|
Nazaj na vrh |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pon Maj 02, 2011 2:04 pm Naslov sporočila: |
|
|
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 |
|
|
Boštjan Profesionalec
Pridružen/-a: Tor Mar 2004 22:48 Prispevkov: 100
|
Objavljeno: Pon Maj 02, 2011 7:49 pm Naslov sporočila: dela ok |
|
|
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 |
|
|
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Pon Maj 02, 2011 10:52 pm Naslov sporočila: |
|
|
Tak odgovor rad imam _________________ Sliši se paradoksalno, a je vendarle res:
Nekateri ljudje imajo vedno vse prav. No, včasih. |
|
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
|