MyTetra Share
Делитесь знаниями!
Памятка
Время создания: 23.04.2018 14:00
Раздел: Electronics - Microcontrollers - FreeRTOS

1.


- функция задачи

void ATaskFunction( void *pvParameters );


- создание задачи

portBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCode,
                           
const signed portCHAR * const pcName,
                           unsigned portSHORT usStackDepth,
                           
void *pvParameters,
                           unsigned portBASE_TYPE uxPriority,
                           xTaskHandle *pxCreatedTask );


- запуск шедулера

vTaskStartScheduler( void );


- suspend задачи (себя - NULL) до вызова Resume

void vTaskSuspend( xTaskHandle pxTaskToSuspend );


- возобновление задачи

void vTaskResume( xTaskHandle pxTaskToResume );


- Blocked state на фиксированное время (относительно)

void vTaskDelay( portTickType xTicksToDelay );


- Blocked state на фиксированное время (абсолютное)

void vTaskDelayUntil( portTickType * pxPreviousWakeTime,

portTickType xTimeIncrement );


- описание выполнения функции в Idle

void vApplicationIdleHook( void );


- изменение приоритета задачи

void vTaskPrioritySet( xTaskHandle pxTask,

unsigned portBASE_TYPE uxNewPriority );


- получение приоритета задачи

unsigned portBASE_TYPE uxTaskPriorityGet( xTaskHandle pxTask );


- удаление задачи

void vTaskDelete( xTaskHandle pxTaskToDelete );


- Idle Task Hook

void vApplicationIdleHook( void );




2.


- Создание очереди

xQueueHandle xQueueCreate( unsigned portBASE_TYPE uxQueueLength,
                           unsigned portBASE_TYPE uxItemSize);


- отправка данных начало очереди

portBASE_TYPE xQueueSendToFront( xQueueHandle xQueue,
                                
const void * pvItemToQueue,
                                 portTickType xTicksToWait );


- отправка данных в конец очереди

portBASE_TYPE xQueueSendToBack( xQueueHandle xQueue,
                                
const void * pvItemToQueue,
                                portTickType xTicksToWait );


- чтение (изъятие) элемента из очереди

portBASE_TYPE xQueueReceive( xQueueHandle xQueue,
                            
const void * pvBuffer,
                             portTickType xTicksToWait );


- чтение (без изъятия) элемента из очереди

portBASE_TYPE xQueuePeek   ( xQueueHandle xQueue,
                            
const void * pvBuffer,
                             portTickType xTicksToWait );


- определение количества элементов в очереди

unsigned portBASE_TYPE uxQueueMessagesWaiting( xQueueHandle xQueue );




3.


- Idle Task Hook

void vApplicationIdleHook( void );


- Idle Task Hook

void vApplicationIdleHook( void );





















 
MyTetra Share v.0.53
Яндекс индекс цитирования