6.60.19 Встроенные функции 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). Вставленная последовательность может использовать переходы, циклы или NOP-инструкции и не мешает другим инструкциям. Обратите внимание, что cycles должно быть константой времени компиляции — то есть вы должны передать число, а не переменную, которая может быть оптимизирована до константы позже. Количество тактов, отложенных этим встроенным методом, точно задано.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/MSP430-Built-in-Functions.html