ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
8 апреля
1580363 Топик полностью
Nikolay_Po (Сегодня, 11:00, просмотров: 20) ответил vpv.vpv на А при влёте в прерывание нужные команды точно уже будут в кэше инструкций? Дело в том, что сбросить выход - это не всё. Выход надо быстро сбрасывать по какому-то волЯтильному внешнему событию. Т.е. по прерыванию. И замерять работу всей цепочки, например: "сработал компаратор - отключился выход".
На AVR я такое делал в пре-прологе, до сохранения контекста. Просто ставил инструкцию сброса бита в атрибут пре-пролога (avr-gcc). Конечно, с кэшем - как повезёт, скорее нет, чем да. Но зато максимально быстро. 

С RISC-V обломался. У тех, у которых нет команд манипуляции битами (или, вдруг, манипуляция битами не поддерживается периферийными регистрами), требуется использование регистра для R-M-W. И не получилось договориться с компилятором, чтобы сначала сохранить контекст одного регистра, сделать быструю манипуляцию с битом порта и потом уже сохранять остальной контекст. Забил, решал другими путями, в том числе и аппаратными.