Вот как раз I2C в LPC900 реализован правильно (а разве чего-то другого следовало ожидать от, собственно, авторов сего интерфейса?

)
Цитата(Yoruk91 @ Apr 10 2013, 19:33)

1. Контролировать поллингом
2. Делать вложенное прерывание с максимальным приоритетом
Ну, так ST в своих доках именно это и советуют. Там есть ещё одна беда - в режиме мастера последний принятый байт может быть повреждён. Проявляется сия бяка нечасто и случайным образом, потому сложно отловить.
В новых сериях STM32 вроде поправили (по крайней мере обещали), но "восьмёрок" это не коснулось.
...Делаю вот, так сказать, рефакторинг некоего изделия. Меняю P89LPC920 на STM8S003F3P6 - 4-кратная разница в цене стала весомым аргументом. К счастью, там I2C нужен только, чтобы 2 байта в синтезатор частоты передать, а читать ничего не надо, так что проблем нет.
Цитата(Yoruk91 @ Apr 10 2013, 17:27)

Работаем с преподом на автоматизаций горных машин. там как раз нужны устойчивые камни и желательно с минимальными ошибками
Как бы не пришлось обратить внимание на Infineon и TI. Дорого, да...