slawek3000 napisał(a):
Znalazłem taki kod w necie
Nie wszystko co się znajdzie w internecie oznacza od razu, że jest dobre nawet gdy sam autor chwali się że działa. Nie wiedziałeś o tym - i to jak widać jest taki przypadek.
slawek3000 napisał(a):
moje pytanie jest takie gdy zmienna wynosi do 255 jest zapisywana poprawna liczba 255 , gdy jest większa pokazuje mi jakieś dziwne liczby np. zmienna równa się 800 to odczytuje 32 a przecież to jest zmienna LONG ?
zobacz przecież jak byk niejako masz napisane w kodzie:
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
a dokładniej spójrz na lewą stronę
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
już nawet nie chcąc zajrzeć do helpa bascoma to nie wydaje ci się podejrzane to "
byte" ? nie zastanawia cię że chodzi o zapis/odczyt bajtu ? .... a ty próbujesz zapisać odczytać zmienną 4 bajtową ? i dziwisz się że nie działa ?
no ale tak to jest jak człowiek ulegnie czyjejś autosugestii z internetu - tym bardziej gdy ktoś tam pisze jak to mu niby rzekomo super działa
tymczasem wystarczy zajrzeć chociażby do helpa bascomicznego online na stronie producenta
i tam przeczytać, że:
Cytuj:
I2CWBYTE sends one byte to an I2C-device.
to zapis JEDNEGO bajtu
zatem nie może to co masz napisane działać poprawnie ponieważ gdy zapisujesz liczbę 800 to masz dwa bajty, starszy i młodszy
00000011 00
100000
widzisz? ten po lewej to starszy bajt liczby 800 zapisanej jako WORD (na dwóch bajtach) ... o wartości = 7 natomiast drugi bajt ten po prawej to młodszy bajt (gdzie ta czerwona jedynka) ... widzisz ? i on jak widzisz ma wartość 32
więc teraz już się chyba nie dziwisz ? że wyświetla ci się tam 32 - to nie żadna głupota - bo jak zapisujesz jeden bajt funkcją
i2cwbyte
a jako argument podajesz bardziej pojemną liczbę (4 czy 2 bajtową) to co? to funkcja zapisuje z niej tylko najmłodszy bajt. Chcesz się upewnić ? to zapisz sobie np liczbę 257 - a odczytasz z tego liczbę = 1
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]