[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