ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
994915 Топик полностью
LightElf (14.04.2020 00:24, просмотров: 593) ответил General на что нет никого с FreeRTOS и MicriumOS?
Про Micrium не знаю ничего. Сорец, имхо, вполне нормально прокомментирован. 
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;

объявляет флаг, назначение которого выпукло отражено в названии (разбужена задача с более высоким приоритетом)

xQueueSendFromISR (xRxedChars, &ret, &xHigherPriorityTaskWoken);

запихивает значение ret в очередь xRxedChars и возможно взводит вышеупомянутый флаг

portEND_SWITCHING_ISR(xHigherPriorityTaskWoken);

отмечает конец обработчика прерываний и вызывает (в зависимости от значения флага) возврат в прерванную или более приоритетную задачу


xQueueReceive(xRxedChars , &ret , portMAX_DELAY);

ожидает появления в очереди xRxedChars каких-нибудь данных, после чего прочитывает один элемент в переменную ret.

static xQueueHandle xRxedChars;

объявляет переменную - дескриптор очереди.

xRxedChars = xQueueCreate (1, (unsigned portBASE_TYPE) sizeof (signed portCHAR));

создает очередь глубиной в один элемент типа signed portCHAR (который обычно равен просто signed char)

Не надо делать мне как лучше, оставьте мне как хорошо