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ę

nie działający interfejs I2c

anderson20
-
-
Posty: 26
Rejestracja: 15 gru 2008, o 14:07
Lokalizacja: Poznań

nie działający interfejs I2c

Postautor: anderson20 » 29 mar 2009, o 21:19

Czemu nie działa mi I2c, widze to po linii SCL, cały czas do cholery jest czerwony ten kwadracik koło pinu SCL a powinien mrygać.
Kod z Bascoma:

Kod: Zaznacz cały

$large $timeout $crystal = 11059200 $baud = 19200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P1.3 , Rs = P1.2 Config Scl = P2.0 Config Sda = P2.1 Cls Cursor Off Noblink Dim A As Byte Const Pcf8591w = &B10011110 Const Pcf8591r = &B10011111 Cls 'I2cstart 'I2cwbyte Pcf8591w 'I2cwbyte 64 'I2cstop 'Wait 1 I2cstart I2cwbyte Pcf8591r I2crbyte A , Nack I2cstop Wait 1 Upperline Lcd "Napiecie to: " ; A End
Link do obrazka z Proteusa:
http://img4.imageshack.us/img4/9365/chu ... roblem.jpg

W ogóle to chcę odczytać napięcie analogowe z pina AIN0 i przypisać je zmiennej A ale no w ogóle ta magistrala nie chodzi, więc na razie problem mam z inicjacją I2c.

Albo może co z pinami jest nie tak, bo jak przepiąłem piny SCL, SDA na P1.0 P1.1 a piny wyświetlacza na P0.x (oczywiście potem odpowiednio pozmieniałem w Bascomie) to w ogóle nawet wyświetlacz nie działał. To ja nie rozumiem tego języka Bascoma 8051. To jakiś ściemniacki język bo tu nic nie działa.

poczatkujacyavr
-
-
Posty: 45
Rejestracja: 26 mar 2009, o 18:20
Lokalizacja: Kraków

Postautor: poczatkujacyavr » 29 mar 2009, o 22:27

Bardzo "ambitna" nazwa jpega.
Gratuluje pomysłu.

Awatar użytkownika
Wesker
-
-
Posty: 4
Rejestracja: 19 kwie 2008, o 22:48
Lokalizacja: Leżajsk

Postautor: Wesker » 1 kwie 2009, o 10:02

Twój program wykona się, a następnie pozostanie w nieskończonej pustej pętli, gdzie już nic się nie będzie działo. Jeśli chcesz by fragment kodu wykonywał się cyklicznie umieść go pomiędzy do i loop . Poza tym polecam lekturę kursu Piotra Góreckiego. Mała próbka http://www.elportal.pl/pdf/2003/edw_2003_11_s30.pdf. Dotyczy ona co prawda BascomAVR, ale różnica w stosunku do Bascom8051 jest niewielka i dotyczy innego nazewnictwa portów i czasem konfiguracji innych peryferii uP.

Dodano po chwili:

Aha co się tyczy schematu. Kwarc nie ma dwóch kondensatorów 33pF, bez tego to nie ruszy. A co z resetem, możesz go tak sobie zostawić? Dodaj kondensator 10uF między VCC a reset i rezystor 10k między reset i masę. Ostatnia kwestia to wyprowadzenie EA. Jeśli jest dołączone do VCC to mikrokontroler wykonuje kod ze swojej wewnetrznej pamięci. Jeśli do masy to z zewnętrznej, ale tutaj takiej nie ma i nie będę zgadywał co się stanie. Możesz to sprawdzić w karcie katalogowej tego uP tylko czy to rzeczywiście ten? Zalecam zapoznanie się z podobnymi układami :) może nawet na innym mniejszym procku

Scalenie: Pajączek.
Ostatnio zmieniony 1 kwie 2009, o 13:10 przez Wesker, łącznie zmieniany 2 razy.

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

Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 30 gości