|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
MadMax Član
Pridružen-a: Pet 09 Sep 2005 22:16 Prispevkov: 4743 Aktiv.: 21.29
|
Objavljeno: Sre Maj 01, 2013 8:55 am Naslov sporočila: |
|
|
No, nekaj si se naučil.
1. maso moraš imeti vedno skupno, pa še je pri razmetanih vezjih lahko problem. V bistvu si imel srečo, na ta način bi komot uničil mego.
2. minipin je enostavna, čeprav ima butasto "obratno" logiko za LEDice na njej. Ampak se navadiš. |
|
Nazaj na vrh |
|
|
HeBird Član
Pridružen-a: Ned 16 Avg 2009 16:36 Prispevkov: 79 Aktiv.: 0.44 Kraj: Domžale
|
Objavljeno: Čet Apr 03, 2014 6:12 pm Naslov sporočila: |
|
|
Rad bi prebral bite iz nastavitvenega registra z Ds18b20, pa mi ne uspe sestaviti kode, ker ne skapiram funkcij arraya in oklepajev. Nadgradnja tega bi bila, da bi nastavil čip, kakršno ločljivost bi rad imel.
Sama ločljivost tu ne igra vloge, ampak imamo v službi napravo, ki zna komunicirati z 1-wire, ne zna pa obdelovati podatkov in je možno, da kdaj pokaže 2x, 4x ali 8x višjo temperaturo, kot dejansko je.
Poskušam s tem, pa mi ne uspe:
Koda: |
Dim Konfiguracija As Byte
Do
...
1wreset
1wwrite &HCC
1wwrite &HB8 'Ukažem prenos eeproma v scratchpad
Waitms 500
1wreset
1wwrite &HCC
1wwrite &HBE 'Ukažem branje scratchpada
Waitms 500
Konfiguracija = 1wread(4) 'Zapišem četrti byte v Konfiguracija
Lcd Konfiguracija
...
Loop
|
Rezultat je tak da mi je na začetku pokazal 37, in se viša za 1 na vsakih nekaj ciklov.
Mi lahko kdo prosim pomaga razložiti, kaj delam narobe, da mi ne prebere pravilno 4. bajta konfiguracijskega registra. Sem že precej primerov pregledal, pa mi res ni jasno.. npr. tale primer mi je sploh "trd oreh", nič mi ni jasno, kaj naredi s temi podatki :
Koda: |
...
Sc(1) = 1wread(9) 'read bytes into array
if sc(9) = crc8(sc(1),8) then
DG = DeciGrades(sc(9)
...
|
_________________ Gašper |
|
Nazaj na vrh |
|
|
marko11 Član
Pridružen-a: Ned 14 Dec 2003 17:47 Prispevkov: 866 Aktiv.: 3.89 Kraj: Dobrepolje
|
Objavljeno: Ned Jan 28, 2018 3:36 pm Naslov sporočila: |
|
|
Hi
Jaz pa bi rad, da se mi na LCD izpiše vrednost temperature samo v celih številih, brez decimalke. Kako napisati kodo?
Delček kode, ki sedaj izpisuje na pol stopinje natančno:
Koda: |
Ts = T
Ts = Ts/2 ; na pol stopinje natančno
Locate 1,1 : LCD "T= " ; Ts
'sedaj izpiše naprimer T= 21.0
|
lp,marko |
|
Nazaj na vrh |
|
|
kose19 Član
Pridružen-a: Sre 02 Mar 2005 19:37 Prispevkov: 1228 Aktiv.: 5.51 Kraj: okolica Kobarida
|
Objavljeno: Ned Jan 28, 2018 5:09 pm Naslov sporočila: |
|
|
Koda: |
Read1820:
1wreset 'reset
1wwrite &H55 '1Wire ukaz za pricakovanje kode
1wwrite Ar(1) , 8 'posiljanje kode
1wwrite &HBE 'ukaz za branje internega RAM-a
Bd(1) = 1wread(9) 'branje RAM-a v polje
1wreset 'reset
T2 = Makeint(bd(1) , Bd(2)) 'zruzevanje 1.in 2.byta iz polja v eno spremenjlivko
T2 = T2 / 2 'T2 delimo z 2,da iznicimo decimalke
Return |
_________________ - Absens, carens -
- Tisti, ki ga ni, bo prikrajšan - |
|
Nazaj na vrh |
|
|
Branez Moderator
Pridružen-a: Pon 14 Apr 2003 7:21 Prispevkov: 7770 Aktiv.: 34.88 Kraj: Koprivnica HR
|
Objavljeno: Ned Jan 28, 2018 7:26 pm Naslov sporočila: |
|
|
marko11 je napisal/a: |
Jaz pa bi rad, da se mi na LCD izpiše vrednost temperature samo v celih številih, brez decimalke. Kako napisati kodo?
Delček kode, ki sedaj izpisuje na pol stopinje natančno:
|
Išči v Bascom Help pod "Fusing". Imaš možnost z ali brez zaokroževanja. _________________ The true sign of intelligence is not knowledge but imagination.
Creativity is intelligence having fun!
Albert Einstein |
|
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 Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 69 dni
Powered by phpBB © 2001, 2005 phpBB Group
|