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

andy_SZ
-
-
Posty:5
Rejestracja:14 lip 2003, o 14:49
AVT 992 - problem z I2C

Postautor: andy_SZ » 14 gru 2003, o 18:44

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

mw
-
-
Posty:242
Rejestracja:23 lut 2003, o 23:22
Lokalizacja:Busko Zdrój
Kontaktowanie:

Postautor: mw » 14 gru 2003, o 21:28

Witam,
Poczytaj o instrukcji "i2cinit".
Jezeli linii i2c uzyjesz do innego celu to musisz po mym uzyc instrukcji i2cinit. :)

andy_SZ
-
-
Posty:5
Rejestracja:14 lip 2003, o 14:49

Postautor: andy_SZ » 14 gru 2003, o 21:59

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.

mw
-
-
Posty:242
Rejestracja:23 lut 2003, o 23:22
Lokalizacja:Busko Zdrój
Kontaktowanie:

Postautor: mw » 14 gru 2003, o 23:26

Sprawdz jeszcze dzialanie instrukcji initlcd.

andy_SZ
-
-
Posty:5
Rejestracja:14 lip 2003, o 14:49

Postautor: andy_SZ » 17 gru 2003, o 07:32

Pomogło :P

Serdeczne dzięki

Pozdrawiam

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