Witam, mam problem z komunikacją I2C przy wykorzystaniu sprzętowego układu zaimplementowanego w mikrokontrolerze PIC16F877A, przekopałem forum i wujka GOOGLE, ale nic nie znalazłem co rozwiązuje mój problem. Zacznę po kolei, wielokrotnie komunikowałem się tym protokołem z RTC, EEPROM czy od niedawna testy z cyfrowym radyjkiem TEA5767, ale nigdy nie udało mi się uruchomić sprzętowego modułu do komunikacji po I2C, zawsze program staje już w miejscu wysłania bitu startu. Cały czas piszę w asemblerze, ale w akcie desperacji sięgnąłem po C i także lipa, komunikacja nie działa, ani fizycznie na mikrokontrolerze, ani w symulatorach, wymiana procesorków także nic nie dała, poszedłem dalej i ściągnąłem gotowy program już skompilowany do hex i wrzuciłem najpierw do symulatora i nic wszystko stanęło już na bicie startu, więc zmontowałem układ i wrzuciłem program do procesorka a na SCL i SDA dałem oscyloskop i także nic, komunikacja zrobiona programowo działa niezawodnie, sprzętowo w ogóle nie startuje, na liniach portu cały czas linia prosta, wymieniałem rezystory podciągające do +5V, w zakresie od 4,7k do 10k i nic. Tu rodzi się moje pytanie, czy jest możliwe że trafiłem na jakąś serię mikrokontrolerów (mam ich 7 nówek z TME) które mają uszkodzony moduł, bo ja już nie rozumiem co jest nie tak, tym bardziej że z strony microchipa ściągnąłem dokumentacją AN976 wraz z plikiem asm, program dostępny na suporcie nie forum microchipa i to także nie działa, może ktoś mi wytłumaczyć co się dzieje, w necie ludzie budują układy i przeglądając kody wykorzystują sprzętowy moduł i to niby działa a u mnie nic. Dodam że korzystam z programatora PICKit3 i ICD2 oryginalne żadne podróby.