Похоже, вы используете 0b1 << 0 для «записи» вместе с адресом подчиненного устройства. Однако, согласно таблице данных MPU9250REV1.0, это должно быть 0. Проверьте раздел 7.4 на стр. 35. </p>
Хотя это может быть нелогичным, если установить «0» для записи, имеет смысл, если вы думаете,«общего вызова», инициируемого с ведомого адреса 0b0000000 и бита «записи» 0.
Это также означает изменение бита «чтения» в вашем коде на 1.
В текущей реализации смешивание битов чтения и записи приводит к зависанию проблемы, ожидающей после установки NACK.