6.62.22 Встроенные функции MSP430
GCC предоставляет несколько специальных встроенных функций для написания обработчиков прерываний на C.
__bic_SR_register_on_exit (int mask)-
Это очищает указанные биты в сохраненной копии регистра состояния, который в данный момент находится в стеке. Это работает только внутри обработчиков прерываний, и изменения в регистре состояния вступят в силу только после возврата из обработчика.
__bis_SR_register_on_exit (int mask)-
Это устанавливает указанные биты в сохраненной копии регистра состояния, который в данный момент находится в стеке. Это работает только внутри обработчиков прерываний, и изменения в регистре состояния вступят в силу только после возврата из обработчика.
__delay_cycles (long long cycles)Это вставляет последовательность инструкций, которая занимает ровно cycles циклов (между 0 и примерно 17E9) для выполнения. Вставленная последовательность может использовать переходы, циклы или пустые инструкции и не взаимодействует с другими инструкциями. Обратите внимание, что cycles должно быть целочисленной константой времени компиляции — то есть вы должны передать число, а не переменную, которая может быть оптимизирована до константы позднее. Количество циклов, задержанных этой встроенной функцией, является точным.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/gcc/MSP430-Built_002din-Functions.html