LPC2114 z I2C: jak wymusić NACK przy polling EEPROM po zapisie?
LPC2114, I2C i polling EEPROMU
From: Jack Houseman <KILLSPAMjado_at_nospam_chello.pl>
Subject: LPC2114, I2C i polling EEPROMU
Date: Fri, 03 Mar 2006 01:06:57 +0100
Witam,
Pisze wlasnie procedurke obslugi I2C dla w/w procka.
Procedurka na przerwaniach.
Generalnie dziala - ale jest maly problem.
Przy obsludze pamieci EEPROM, po zapisie do niej, powinno sie dokonac
pollingu, probujac zapisac do niej jakis bajt - zeby sprawdzic czy juz jest
dostepna.
Jesli jest ona w stanie zapisu (zajeta), to powinna zwrocic NACK'a.
Jesli bedzie juz wolna - zwroci ACK'a.
No i wlasnie probuje to zrobic i zadna miara nie udaje mi sie wymusic zeby
pamiec zwrocila NACK'a (a przynajmniej procek nic na ten temat nie wie)
Czy to w ogole dziala w LPC2114?
Wedlug moich testow to przerwanie wywolane NAC'kiem podczas wysylania danych
do slave - nigdy sie nie wywoluje (ani 20h, ani 30h ani 38h).
Jak wstawie petle czasowa pomiedzy zapisem do EEPROMU, a odczytem z niego -
to dziala - moge odczytac te same dane ktore zapisalem.
Bez tej zwloki - jakies krzaki sie pokazuja.
A polling nie dziala.
Moze robie jakis blad?
Analogiczna procedurke napisalem kiedys na PIC'a 18 i dziala bez zarzutu
(tyle ze tamta w ASM, a ta w C)
Jesli ktos to juz moze testowal - niech chociaz powie czy to powinno
dzialac.
--
Pozdrawiam
Jado