ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 мая
1259202 Топик полностью
Nikolaj (15.11.2022 11:55, просмотров: 169) ответил Nikolaj на Без шедулера всё равно ни как - контекст переключает он. Можно только принудительно заставить шедулер переключится на требуемую задачу и то только если её приоритет выше той задачи что была прервана этим прерыванием:
В прерывании отдать семафор с проверкой приоритетов и запросом к шедулеру на переключение контекста: 

void IRQ_XXX(void)

{

xSemaphoreGiveFromISR( xButtonSemaphore, &xTaskWoken );


if( xTaskWoken == pdTRUE) {
taskYIELD();

}

}