Приоритеты прерываний имеют значение только в том случае, если два * флага прерывания установлены перед , когда ЦП может обрабатывать один из них, и ЦПУ должен решить, какой из них обрабатывать первым.На практике это почти никогда не происходит.
Когда выполняется обработчик прерываний, все другие прерывания блокируются (GIE очищается по умолчанию), независимо от приоритета.Это означает, что, когда в настоящее время выполняется обработчик прерывания I²C и происходит прерывание SPI, обработчик SPI начинает выполнение только после завершения обработчика I²C.
Чтобы выполнить обработчик SPI с высоким приоритетом, необходимо убедиться, чточто все остальные прерывания не блокируют его, по крайней мере, на долгое время.Обычно это делается теми обработчиками прерываний, которые просто устанавливают флаг, указывающий, что устройству требуется внимание, а затем обрабатывают эти условия в основном цикле вашего приложения.