Poniższt program (wzięty z kursu Bascomu) kompiluje się, ale nie działa poprawnie: na wyświetlaczu pojawia się tylko Start a później już tylko krzaki.
Być może problemem jest to że linie SDA i SCL są wspolne z liniami danych wyświetlacza LCD (ale raczej nie gdzyś wyświetlacz sterowany jest linią ENABLE).
Co może być przyczyną takiego działania?
'$sim
$crystal = 8000000
Config Sda = Portb.6
Config Scl = Portb.7
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Dim Adres As Byte 'deklaracja zmiennej ADRES
Dim B6 As Bit
Dim B7 As Bit
Cls 'wyczyœæ ekran wyœwietlacza
Lcd "Start" 'komunikat wysy³any na LCD
Wait 1
Cls 'wyczyœæ ekran wyœwietlacza
For Adres = 150 To 200 Step 2 'przeszukaj 50 adresów
I2cstart 'inicjalizacja magistrali I2C
I2cwbyte Adres 'wyœlij na magistralê zapytanie po kolejny adres
I2cstop 'koniec transmisji
If Err = 0 Then 'je¿eli wywo³ywane urz¹dzenie odpowiedzia³o, to:
Cls 'wyczyœæ ekran wyœwietlacza
Lcd "Uklad pod: " ; Adres 'komunikat o znalezieniu uk³adu pod danym adresem
Else
Cls
Lcd "Brak ukladu: " ; Adres
End If
Wait 2
Next Adres
Cls
Lcd "Koniec"
End
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ęAVT 992 - problem z I2C
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Dzięki za odpowiedź.
Dodałem i2cinit przed i2cstart ale to raczej nie to. Zakłóceniu ulega praca wyświetlacza (krzaczki zamiast np. tekstu Brak układu 150). Być może sam odczyt po i2c też nie działa, ale nie mam okazji tego zauważyć.
Byc może wynika to też z tego, że użyłem wyświetlacza LM2332 (SOLOMON), do którego nie mam opisu więc podłączyłem na czuja, ale z drugiej strony jak nie używam i2c wyświetla poprawnie. Wygląda to wszystko dość dziwnie tak jakby nie działało ENA przy wyświetlaczu.
Dodałem i2cinit przed i2cstart ale to raczej nie to. Zakłóceniu ulega praca wyświetlacza (krzaczki zamiast np. tekstu Brak układu 150). Być może sam odczyt po i2c też nie działa, ale nie mam okazji tego zauważyć.
Byc może wynika to też z tego, że użyłem wyświetlacza LM2332 (SOLOMON), do którego nie mam opisu więc podłączyłem na czuja, ale z drugiej strony jak nie używam i2c wyświetla poprawnie. Wygląda to wszystko dość dziwnie tak jakby nie działało ENA przy wyświetlaczu.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 41 gości