fk0, легенда (23.04.2010 11:40, просмотров: 131) ответил Athlon64 на Необходимо на SAM7X256 в режиме мастера опрашивать устройство по I2C (устройство сделано на меге8, представляет собой БП с контролем напряжения, умеет выдавать его по I2C, работает в режиме слейв, обеспечивает подтяжку к +12В). В качестве буфера применил
Проблема в вашем коде. В очень похожих условиях у меня всё более-менее работало. Но костылей и подпорок там хватало. Да, TWI у этого чипа проблемный, склонен к неадекватному поведению, лечится пересбросами и таймаутами. Кроме того, протокол по I2C обязательно должен обеспечивать что-то вроде CRC для защиты данных от "обрывов" (передалось пол-пакета, а дальше FFFFF) -- это наиболее типовой сбой в данном случае.
Я могу показать вам (пишите email) код своего модуля. Потом, примите к сведению, что CRC 8-битный не будет надёжен, если не поместить в каждый пакет "маркер конца", например, просто 0-й байт (не FF обязательно).
[ZX]