staneq napisał(a):
mirekk36 napisał(a):
Ale pomysł z dzielnikiem to już - .... hmmm to już mocno nietrafiony.
Też mi się tak zdawało ale w sumie to dlaczego? Mógłby ktoś to wyjaśnić?
dlatego że na magistrali I2C masz w układach scalonych na liniach SDA i SCL wyjścia typu OC (Otwarty kolektor) albo (Open Drain) .... w związku z czym linie te bez podciągania w ogóle nie są w stanie działać - bo układy nie wystawiają stanu wysokiego. Tylko potrafią zwierać do masy realizując dzięki temu tzw opcję "Wire AND" .... i nie dochodzi do kolizji stanów - pomyśl to tak jakbyś próbował połączyć ze sobą bez skrzyżowania linie RS232, które normalnie wystawiają stan wysoki i niski - tak nie można bo spalisz któreś linie jeśli na wyjściu jeden układ wystawi 1 a drugi 0.
W I2C na SDA master może co najwyżej nie ściągnąć do GND i masz stan wysoki na SDA , a za to układ Slave może w tym czasie zewrzeć linię do GND i nic się nie stanie - taka właśnie dwukierunkowość - dzięki temu Master może sobie od razu badać czy ma 0 czy 1 gdy przełączy się pinem jako wejście bo chce odbierać z układu Slave.
_________________
zapraszam na blog:
http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj
Kurs EAGLE ] [ mój kanał YT TV
www.youtube.com/mirekk36 ]