i2c master + slave

Jun 05, 2006 2 Replies

Witam serdecznie



Zwracam siê do Was z nastêpuj±cym problemem:



Przeprowadzam komunikacjê miêdzy dwoma mikroprocesorami przez i2c. PIC18F8722 pracuje jako master, natomiast PIC16xxxx pracuje jako slave.



Transmisja po obu stronach odbywa siê sprzêtowo. Wydawa³oby siê, ¿e wszystko jest w porz±dku, jednak otrzymujê dziwne rezultaty przy transmisji ró¿nego rodzaju danych.



Przy adresowaniu 7-bitowym wysy³am dane np. od 0x01 do 0xFF i tu pojawia siê problem, poniewa¿ te dane, których najstarszy bit jest zerem (MSB=0) powoduj± b³êdy w transmisji, tak, ¿e czasem odbieram adres zamiast danej i odwrotnie.



Czy kto¶ spotka³ siê kiedys z takim problemem, gdzie rodzaj danej ma wp³yw na jej transmisjê ?



z wyrazami szacunku Dariusz Borowski


U¿ytkownik "Dariusz Borowski" <dariusz.borowski_CIACH snipped-for-privacy@tmtechnologie.pl napisa³ w wiadomo¶ci news:e62cc6$f37$ snipped-for-privacy@nemesis.news.tpi.pl...

Witam. W tej chwili , to juz za dobrze nie pamietam...ale sie spotka³em, w podobnej sytuacji, (tylko ¿e by³y to dawa AVR'y) a przynajmniej objawy (zale¿no¶æ b³êdu transmisji od rodzaju danej) by³y podobne. u mnie przyczyn± by³y zak³ócenia, od pobliskiej przetwornicy, - wy³±czy³em - zero b³êdów. po tej nauce, uwazam ze I2C nie bardzo nadaje sie do wymiany danych pomiêdzy dwoma micro. Nie uda³o mi sie tego wyeliminowaæ do spodu..(musia³bym przetwornice wymieniæ i pcb przerobiæ) tak ¿e musia³em dodaæ wlasn± kontrole danych i czasu odpowiedzi slave.

Michal M.

moze wlazi cos na adresowanie? najstarszy bit slowa adresu definiuje czy jest to zapis czy odczyt przy zapisie najpierw pooajesz adres (7bit, MSB to R/W) ukladu, adres wewn i dopiero dana.. przy odczycie wysylasz adres ukladu (zapis), adres rejestru , nastepnie odczyt sprawdz, moze zle adresujesz

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required