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ę

AT90S2313 i magistrala I2C

Awatar użytkownika
karlos79
-
-
Posty:8
Rejestracja:19 sty 2005, o 18:29
Lokalizacja:fajne miasto
AT90S2313 i magistrala I2C

Postautor: karlos79 » 19 sty 2005, o 18:48

Witam.
Mam problem, otóż napisałem programik do komunikacji na magistrali i2C.
Procek wysył zmienną bajtową do eproma 24c08, odczytuje ją i wynik wyświetla na wyświetlaczu.
Program na sumulatorze działa idealnie, natomiast podczas prób na płytce testowej AVT3500 na wyświetlaczu pokazują mi się jakieś ślaczki i nic poza tym.
Jak podłączyć pamięć do tej płytki żeby to zadziałało?

garden
-
-
Posty:1
Rejestracja:19 sty 2005, o 21:18
Lokalizacja:Skała

AT90S2313 i magistrala I2C

Postautor: garden » 19 sty 2005, o 21:21

odchacz $sim i sprawdź czy masz dobrze wpiętą zworę do wyświtlacza LCD w pocie B. JAk coś to prześlij listing tego I2C

Awatar użytkownika
karlos79
-
-
Posty:8
Rejestracja:19 sty 2005, o 18:29
Lokalizacja:fajne miasto

Postautor: karlos79 » 19 sty 2005, o 21:54

Gdzie w BASCOM AVR jest $SIM, co to w ogóle znaczy?
Jestem dopiero początkujący, więc prosze o cierpliwość jesli moje pytania są lamerskie :lol:
Kod programu pochodzi z helpa do bascoma, ja dodałem jedynie obsługe wyświetlacza.
Zaledwie jedna linijke, reszta jest ustawiona w opcjach kompilatora.

'KOMUNIKACJA Z EEPROMEM
Config Sda = Portb.5
Config Scl = Portb.7
I2cinit




'zapis I Odczyt Danych Z Pamieci Eeprom 2404
Dim A As Byte
Const Adresw = 174 'adres do zapisu układu 2404
Const Adresr = 175 'adres do odczytu układu 2404

I2cstart 'warunek startu
I2cwbyte Adresw 'wyślij adres układu
I2cwbyte 1 'wyślij adres w pamięci EEPROM
I2cwbyte 3 'wyślij daną

I2cstop 'warunek stopu

Waitms 10 'czekamy 10mS ponieważ 2404 potrzebuje czasu na
'zapisanie danych w pamięci

' Teraz Odczytamy To Co Zapisalismy
I2cstart 'warunek startu
I2cwbyte Adresw 'zaadresujemy urządzenie
I2cwbyte 1 'wyślij adres komórki EEPROM
I2cstart 'znów generujemy warunek startu

I2cwbyte Adresr 'adresujemy układ EEPROM do odczytu
I2crbyte A , Nack 'odczytujemy komórkę pamięci.
'Nack oznacza że nie będzie następnego odczytu
I2cstop 'warunek stopu
Print A 'i drukujemy zawartość komórki
Cls : Lcd "Wartosc zmiennej" : Waitms 200 ' wyświetl i poczekaj

End

[ Dodano: 22-06-2005, 22:19 ]
Problem od dawna już jest nie aktualny.
Przyczyna tkwiła w adresowaniu pamięci.

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 9 gości