Akkor vagy:
- Rajta fog fityegni a logikai analizátor és vele együtt dobozolod be (ez esetben kell majd venned egy másikat, mert most is segitett),
- Megnézed, hogy a felhúzó ellenállásnál mit néztél be, ahogy bbb is mondogatja...
Azért 4,7k szerepel, mert az egy általános jó érték. Viszont a 2,2k szintén egy bevált jó érték. Az I2C ajánlás szerint 2k-10k között kell legyen ennek az ellenállásnak a mértéke.
Én úgy tapasztaltam ez attól is függ, hogy milyen eszközt és milyen mikrovezérlőt eresztesz össze. A vett modul Arduinohoz van összerakva, s ahhoz nagy eséllyel rögtön jó is, viszont ott a mikrovezérlő egy atmega, nem pic.
A pickit azért javítja meg, mert elhúzza az alap jelszintet valamerre, s így a vezérlő a megfelelő tartományban tud kapcsolgatni a kommunikáció során. Én jártam már így, hogy csak az ellenállást kellett kicserélni és stabilan ment az eszköz (usb-i2c illesztő xerox tonerhez).
Megnéztem mit használtam a
PIC18F25J50 és SSD1306 vezérlős kijelző közt. Ott is 2.2k ellenállásaim vannak és ragyogóan megy a kommunikáció. Egy kis segítség az ellenállás kiszámításához:
TI doksi
Rendben, nagyon köszönöm a segítségetek! Amint lesz rá alkalmam, megmérem a jelszinteket, és esetleg korrigálom az ellenállásokat. Még annyit szeretnék kérdezni, hogy ha a power_management1 regiszterbe (107-es cím) 00 értéket írok, akkor jönnie kell(ene) a kimeneti regiszterekbe az adatoknak, ugye (59-64es regiszter)? Vagy szükséges még valami? (Most egyelőre a kalibrációtól tekintsünk el...)