Цитата(SasaVitebsk @ Jan 14 2016, 13:16)

У меня в предыдущем изделии (пока выпускается) стоит FRAM + EEPROM на I2C. Процессор LPC1765. Написал и забыл. Даже начальную инициализацию сделал так, что автоматически определяется размер установленных микрух и автоматически настраивается всё. И больше вопросов не возникало. Выпускается лет 5 уже.
На stm единственно обнаружил нюанс, что некоторые таймауты обрабатываются аппаратно. Например при ожидании ASK, по-моему. Уже не помню. Короче напрямую в ОС нельзя. Некоторые операции в транзакции надо завершать. Поэтому лучше на прерываниях писать и следить за временем их исполнения.
Но в целом мне не понравилось. Ни в AVR, ни в STM. В MSP не работал с этой шиной.
На LPC17xx и на LPC23xx я сделал уже множество изделий с микрухами висящими на I2C (МК везде мастер). Это и FRAM и RTC-часы и ЖКИ и датчики и ADE78xx.
Эти изделия выпускаются серийно и давно уже множество их работает у заказчиков. Проблем нет. В том числе и испытания на ЭМС нормально проходят.
И в других проектах на Tiva, OMAP, MSP430, DSP C5502 - много где использовал I2C - везде только аппаратный, нигде не страдал фигнёй типа программной эмуляции существующего в МК I2C.
И проблем тоже не было с ним. И сложного там ничего нет.
На STM32 правда с I2C я не работал.