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?
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
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
AT90S2313 i magistrala I2C
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
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
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.
Jestem dopiero początkujący, więc prosze o cierpliwość jesli moje pytania są lamerskie
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.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości