[elektro] I2C ACK/NAK

Moczik Gabor pm_levlista at progzmaster.hu
Wed Oct 20 20:24:41 CEST 2010


Hali!

Beletelt egy egész napba mire rájöttem...

...hogy ha masterként be akarom fejezni az olvasást, akkor az utolsó 
byte-re kötelezően NAK-et kell mondani.

Én faszán visszaküldtem egy ACK-et, monván hogy a kapott adat érvényes, 
és STOP feltételt generáltam volna. Ez néha jó volt, néha lefagyott.
A slave az ACK hatására küldte volna a következő adatot, aminek ha 
történetesen 0 volt az első bitje, akkor az ACK után már jó előre 
lehúzta az SDA-t és nem lehetett STOP-ot generálni, lefagyott az egész.

Én ezt az egész ACK/NAK dolgot user-specifikusnak gondoltam, de most 
értettem csak meg, hogy ennek a használata szigorúan kötött, ezzel nem a 
kapott adatot utasítom vagy fogadom el, hanem az adatátvitel végét kell 
jeleznem vele.

Egyszer régen mondjuk átolvastam az I2C szabványt, de asszem elő kéne 
vennem ismét.

-- 
((( Móczik Gábor  )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))



More information about the Elektro mailing list