Как использовать обработчик прерываний в FreeRTOS?

Привет! Я пытаюсь использовать OpenPicus devKit для проекта, над которым я работаю, и, насколько я понимаю, IDE при создании нового проекта создает код, который в основном использует библиотеки FreeRTOS и OpenPicus.

Я пытаюсь понять, как использовать прерывания с ядром FreeRTOS или через OpenPicus (я не думаю, что это возможно). Я прочитал, что ISR в FreeRTOS могут быть указаны с помощью __attribute__ ( ( signal ) ) директива, но как они связаны с определенными прерываниями?(Uart или даже булавка просто идет высоко?)

1 ответ

Решение

Обработка прерываний является архитектурой и часто зависит от компилятора, а не от FreeRTOS. Сам FreeRTOS определяет, какие вызовы RTOS действительны в ISR.

Оборудование OpenPicus использует PIC24. Демонстрационный код FreeRTOS для PIC24 включает примеры прерывания по таймеру и последовательного прерывания в [...]\Demo\PIC24_MPLAB\timertest.c а также [...]\Demo\PIC24_MPLAB\serial\serial.c соответственно. В примерах используется синтаксис PIC24 от Microchip. Если вы используете альтернативный компилятор, вам нужно будет обратиться к его документации.

Другие вопросы по тегам