-
- Вы делаете запись в регистр EXTI, данные пошли по D-Bus, а процессор пошел выполнять следующие команды. Регистры EXTI находятся на шине APB2. Тактовая частота этой шины отличается от тактовой частоты процессора, соответственно существует мост со LightElf(336 знак., 16.03.2018 16:00)
- Он может зайти в прерывание повторно. Так как заход повторный, EXTI->PR будет равен 0 (флаг снят при первом заходе), __DSB() не даёт этому произойти. evgeniy1294(31 знак., 16.03.2018 13:34)
- Даже если так, то: 1) для входа в прерывание надо сохранить регистры на стеке, потом их восстановить; 2) сброс флага производится в регистре периферии. И тем не менее эффект просочился через "вот это вот всё"? Отпишитесь о результате тестов, Dingo(12 знак., 16.03.2018 14:54)
- Да, конечно. - evgeniy1294(16.03.2018 14:57)
- Даже если так, то: 1) для входа в прерывание надо сохранить регистры на стеке, потом их восстановить; 2) сброс флага производится в регистре периферии. И тем не менее эффект просочился через "вот это вот всё"? Отпишитесь о результате тестов, Dingo(12 знак., 16.03.2018 14:54)