Цитата(Сергей Борщ @ Mar 17 2018, 12:12)

нужно обязательно передавать repeated start, который гарантирует, что между записью адреса и чтением никто не влезет на шину и не перепишет установленный адрес.
Полагаю, это мой случай. Т.к. передача команды это адрес в MLX90614 , а следующее за ним чтение - это чтение по этому адресу.
Так вот: если делать старт-стоп, то MLX90614 не работает.
А если пытаться передавать повторный старт из STM32F103 , то не работает он , а именно при последующей передаче адреса не выставляет бит "адрес передан". Да и в документации на МК написано, что "старт нужно передавать при сброшенном бите BUSY" , а когда обмен идёт, этот бит уже стоит. Хотя в STM32F429 этот же код работал, и там такой же I2C !
Может такое быть, что I2C в МК не умет передавать повторный старт ?