Mam problem z napisaniem fragmentu programu,w którym odczytane bajty z pamięci I2c (starsz i młodszy) zmiennej typu Word będą wpisane do zmiennej a zmienna wysłana na LCD.Zapis przebiega bez problemu.Korzystam z Low i High by zapisać kolejno starszy i młodszy bajt zmiennej pod wskazanym adresem.Odczytuje też te bajty i kolejno
magę je wysłać na LCD ale nie wiem jak je wpisać do zmiennej.Za cenne podpowiedzi dziękuje.
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięOdczyt eeprom I2c
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
czesc,
rozumiem ze masz dwie zmienne, pierwsza zawiera starsza czesc bajtu a druga mlodsza.
po odczytaniu ich, chcesz wpakowac do jednej typu word.
mozesz odczytac starsza czesc, nastepnie przesunac bity w lewo o 8 miejsc i dodac mlodsza czesc.
czyli:
zmienna_word=0
zmienna_word=zmienna_starszy_bajt
Rotate zmienna_word , Left , 8
zmienna_word=zmienna_word + zmienna_mlodszy_bajt
pzd.
rozumiem ze masz dwie zmienne, pierwsza zawiera starsza czesc bajtu a druga mlodsza.
po odczytaniu ich, chcesz wpakowac do jednej typu word.
mozesz odczytac starsza czesc, nastepnie przesunac bity w lewo o 8 miejsc i dodac mlodsza czesc.
czyli:
zmienna_word=0
zmienna_word=zmienna_starszy_bajt
Rotate zmienna_word , Left , 8
zmienna_word=zmienna_word + zmienna_mlodszy_bajt
pzd.
Można tak:
Dim Zmienna_word As Word , Zmienna_starszy_bajt As Byte , Zmienna_mlodszy_bajt As Byte
zmienna_word=0
Zmienna_mlodszy_bajt = 10
Zmienna_starszy_bajt = 1
zmienna_word=zmienna_starszy_bajt
Rotate zmienna_word , Left , 8
Zmienna_word = Zmienna_word + Zmienna_mlodszy_bajt
nop 'zajmuje 170 bajtów
albo tak:
Dim Zmienna_word As Word At &H0060
Dim Zmienna_mlodszy_bajt As Byte At &H0060 Overlay
Dim Zmienna_starszy_bajt As Byte At &H0061 Overlay
Zmienna_mlodszy_bajt = 10
Zmienna_starszy_bajt = 1
nop 'zajmuje 90 bajtów
'w obu przykładach Zmienna_word = 266
'BASCOM generuje rozwlekły kod .Czy zawsze to wina BASCOMA ?
Dim Zmienna_word As Word , Zmienna_starszy_bajt As Byte , Zmienna_mlodszy_bajt As Byte
zmienna_word=0
Zmienna_mlodszy_bajt = 10
Zmienna_starszy_bajt = 1
zmienna_word=zmienna_starszy_bajt
Rotate zmienna_word , Left , 8
Zmienna_word = Zmienna_word + Zmienna_mlodszy_bajt
nop 'zajmuje 170 bajtów
albo tak:
Dim Zmienna_word As Word At &H0060
Dim Zmienna_mlodszy_bajt As Byte At &H0060 Overlay
Dim Zmienna_starszy_bajt As Byte At &H0061 Overlay
Zmienna_mlodszy_bajt = 10
Zmienna_starszy_bajt = 1
nop 'zajmuje 90 bajtów
'w obu przykładach Zmienna_word = 266
'BASCOM generuje rozwlekły kod .Czy zawsze to wina BASCOMA ?
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 72 gości