mnogo cipova ignorise brdo i2c standarda i gledaju na njih kao na
"guidelines" a ne kao na standard, takodje brdo proizvodjaca ima svoje
ime za i2c bus i "sitne" promene ... ja sam imao problem sa nekim TI i2c
uredjajima koji ignorisu NACK, znaci ti mu posaljes nack on ignorise (tj
bole ga uvo za repeatable read dal ti saljes ack ili nack), isto tako sa
nekoliko PCF sprava, ignorisu ga skroz .. tako da zavisi gde si i na
cemu testirao taj tvoj bitbanging lib, moguce takodje da ne odradis
dovoljno brzo tranziciju iz output u input i obrnuto za pin pa te tu
nesto zezne .. ja sam pisao pre dosta godina softwersku verziju i2c
slave-a pa sam se isprakso :D .. obrati paznju da slave moze da radi
clock stretching tako da ako taj AD nije spreman da ti isporuci datu
mozda koristi stretching (po standardu bi trebao, ne secam se da li ili
ne pogledaj datasheet), ako tvoj bitbanging ne podrzava i2c clock
stretching mozes i tu da imas problem..
sto se tice tajminga, posle silazne ivice "neki" ocekuju/daju validan
SDA neko vreme (Taa vreme) i ono se razlikuje, ali ti ne treba na
to da racunas, citaj vrednosti izmedju ulazne i silazne ivice