[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Особенно это касается I2C, и вот почему:
Дело в том, что если SI встал в "1" при SCL=0, шина ЗАСТЫНЕТ в текущем состоянии до сброса Вами SI в "0", после чего продолжит свою работу с того же состояния - тут можно попасть, особенно если кто-то на шине решит, что пришел таймаут, и начнет ломиться в прикрытую дверь.
Но тем не менее, "загрузку данных" Вам никто не мешает делать и вне ISR, только учтите вышесказанное и корректно обрабатывайте все возможные 27.5:) состояний шины.
По I2C есть весьма грамотные аппликухи у Philips.
Удачи!
E-mail: info@telesys.ru