Я разрабатываю программное обеспечение для микроконтроллера ARM Cortex M3 (NXP LPC1769). В настоящий момент я ищу механизм, чтобы определить, вызвана ли моя функция в ISR. Я утверждаю, что мне нужно проверить регистр. Основываясь на этой информации, я хотел бы назвать сложные функции.
Я уже проверил справочное руководство, если есть регистр, содержащий необходимую информацию.
Например, я попытался определить, вызван ли я из ISR (я использовал SysTick-ISR) на основе регистра регистра активного прерывания (IABR). Этот регистр должен быть!= 0, если ISR активен. Но значение было 0x00000000. Это означает, что прерывание не активно. Помимо этого теста я проверил регистрацию NVIC и SC в справочном руководстве, в котором был найден регистр, содержащий необходимый флаг, но я не нашел его.
Кто-нибудь знает подходящий регистр/механизм для моей проблемы?