Если опрос между uC и I2C происходит по той же шине I2C, что и приложение GUI, вам необходимо убедиться, что доступ к I2C контролируется таким образом, что одна транзакция завершается до того, как разрешается начать другую , Может быть, вы уже делаете это, но это не ясно из вопроса.
Также может помочь размещение некоторого кода или псевдокода кода uC.