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ę

zapis i odczyt 24c02

Luka_28
-
-
Posty: 2
Rejestracja: 27 mar 2009, o 18:29
Lokalizacja: krakow

zapis i odczyt 24c02

Postautor: Luka_28 » 27 mar 2009, o 22:59

Witam
Jestem początkujący w pisaniu programów w Bascom 8051.Mam problem z zapisem i odczytaniem z 24c02 liczby z przedziału 8550 do 10050.Wszystkie dotychczasowe próby kończyły się fiaskiem.Sugerowałem się samplami z Bascoma ale nic z tego.Za każdym razem odczytuję 255.Program piszę na at89c2051.Proszę o pomoc . Może ktoś ma sprawdzone działające procedury do zapisu i odczytu pamięci.

rdt
-
-
Posty: 87
Rejestracja: 20 sie 2003, o 18:03
Lokalizacja: 100km od Wawy

Postautor: rdt » 28 mar 2009, o 09:16

kwestia jest tego typu ze do 24c02 zapisujesz poszczególne bajty
Bajt ma osiem bitów a więc może przyjmować wartości tylko od 0 do 255 właśnie

moja rada taka rozbij zmienną na dwa poszczególne bajty (np za pomocą poleceń low i high np )
zapisz do pamięci

odczyt z pamięci - najpierw młodszy bajt potem starszy potem zamień na inna zmienna poleceniem np makeint

Luka_28
-
-
Posty: 2
Rejestracja: 27 mar 2009, o 18:29
Lokalizacja: krakow

Postautor: Luka_28 » 28 mar 2009, o 20:01

Dziękuję za podpowiedz.Znalazłem w helpie opis tych instrukcji i będę pisał program.
Mam jeszcze jedno pytanie, czy do transmisji wielobajtowej po I2C lepiej użyć instrukcji
I2CSEND i I2CRECEIV czy napisać całą procedurę na piechotę. Jescze jedno w jaki sposób
zmieniać kolejne "numery" komórek pamięci w sytuacji zapisu kilku liczb wielobajtowych?

rdt
-
-
Posty: 87
Rejestracja: 20 sie 2003, o 18:03
Lokalizacja: 100km od Wawy

Postautor: rdt » 29 mar 2009, o 00:11

myślę ze nie ma sensu wysyłać bajt po bajcie - skoro masz polecenie służące do wysyłania i odbierania bajtów za bajtem to nie ma sensu się bawić w wysyłanie i odbieranie
Szczerze to ja nie miałem nigdy potrzeby wysyłać więcej niż jeden bajt więc używałem do tej pory tylko I2CWBYTE I2CRBYTE
jezeli i2csend służy do wielobajtowego przesyłania danych to musi miec wbudowany jakis licznik bajtow
jezeli natomiast uzyjesz i2cwbyte i i2crbyte pewnie bedziesz musiał użyć jakiegoś wlasnego licznika

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości