Всех с наступающим)
Есть вопросик чисто теоретический (да бы потом не вылезли грабли на практике).
Хочу использовать i2c для работы с датчиком температуры. Но также, хочу использовать прерывания int0, int1 для кнопок. Известно, что во время срабатывания прерывания, весь код прерывается и начинает выполняться код, который прописан для прерывания. Также, известно, что невозможно выполнить два прерывания одновременно. Так вот вопрос то... Не нарушат ли мои прерывания от кнопок работу протокола i2c и, соответственно, не получу ли я зависание или сбой при работе с датчиком? Ведь я не знаю как это все работает... А вдруг у датчика таймаут есть какой при ожидании ответа от МК (а МК в это время не ответит т. к. занят прерыванием от кнопки), а когда ответит, то уже датчик не поймет что от него хочет МК. Или это все учтено и все будет работать?
Или же для такого обязательно нужно использовать аппаратную i2c (TWI) (ведь аппаратный i2c работает сам по себе и не зависит от программы на низком уровне).
P. S.: Вот например в Ардуино если использовать Analog Write(), говорят, что занят какой-то таймер... То есть, этот таймер уже никак нельзя использовать. А что по i2c в Баскоме?
Спасибо.





