Как использовать обработчик прерываний в 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. Если вы используете альтернативный компилятор, вам нужно будет обратиться к его документации.