Цитата(Pat @ May 12 2018, 19:56)

. . . По протоколу после этого мастер должен выдать СТОП и потом начать чтение. . . .
По-логике, для "два-в-одном" пакетов-комнад, которые предусматривают
двойную функцию запись+чтениеиспользуется ReSTART вместо стоп+старт. К тому что "прописал"
Arlleex добавить нечего.
Посмотрите описание фреймов запрос-ответ для EEPROM повышенной емкости, где адрес задается 2 байтами.
(в первой часте фрейма идет запись адреса в слейв, во второй - чтение из слейва).
Цитата(Pat @ May 13 2018, 11:41)

. . . Вот интересно почему в контроллере не реализовали прерывание на СТАРТ в slave.
Состояние "старт" отслеживается автоматом переферийного узла (аппаратно), и генерировать по нему прерывание, IMHO, смысла нет.
(байт еще не пришел, придет ли вообще - неизвестно, а если придет - то об этом будет выставлен другой флаг - что есть инф. в приемном буфере)
Потому-как этот узел для того и предназначен, чтобы не дергать процессор по всякой мелочи (ненужной).