ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
316194 Топик полностью
fk0, легенда (20.03.2012 10:56 - 11:01, просмотров: 57) ответил Canzo на Поделитесь примером программного I2C slave. Нужно для SAM7x128 написать. Спасибо.
Для PIC18. Используются прерывание (pin change). Два уровня прерываний. По изменению ножки -- высокий приоритет. Запоминается состояние SCL/SDA и всё и вызывается прерывание низкого приоритета, из которого всё остальное работает: попадает в конечный автомат, который реализует "протокол I2C" (из прерываний). Потом в ещё один автомат (i2c_sslave_handler). Который уже реализует протокол для конкретного "слейва" (его и менять в основном). На 100КГц нормально работать не будет. От силы 50 и меньше (для 8МГц пика).
[ZX]