FreeRTOS常用的API函数总结 - minichao9901/TangNano-20k-Zynq-7020 GitHub Wiki
参考文献
https://blog.csdn.net/m0_63211938/article/details/133280685
https://blog.csdn.net/weixin_42895086/article/details/120154812
Task
xTaskCreate()
xTaskCreateStatic()
vTaskDelete()
xTaskSuspend()
xTaskResume()
vTaskStartScheduler()
taskENTER_CRITICAL()
taskEXIT_CRITICAL()
taskENTER_CRITICAL_FROM_ISR()
taskEXIT_CRITICAL_FROM_ISR()
Delay函数
相对延时(用到比较多):vTaskDelay():
绝对延时:vTaskDelayUntil()
将ms转换为ticks:pdMS_TO_TICKS()
例如:vTaskDelay( pdMS_TO_TICKS( 15 ) );
Queue
xQueueCreate()
xQueueSend()
xQueueSendFromISR()
xQueueReceive()
xQueueReceiveFromISR()
BinarySemphore
xSemaphoreCreateBinary()
xSemaphoreCreateBinaryStatic()
xSemaphoreGive()
xSemaphoreGiveFromISR()
xSemaphoreTake()
xSemaphoreTakeFromISR()
CounterSemphore
xSemaphoreCreateCounting()
xSemaphoreCreateCountingStatic()
uxSemaphoreGetCount()
Mutex
xSemaphoreCreateMutex()
xSemaphoreCreateMutexStatic()
- 互斥信号量不能用于中断服务函数中!
- 在多数情况下,互斥型信号量和二值型信号量非常相似,但是从功能上二值型信号量用于同步,而互斥型信号量用于资源保护。
- 互斥型信号量和二值型信号量还有一个最大的区别,互斥型信号量可以有效解决优先级反转现象。
事件标志位
xEventGroupCreate()
xEventGroupCreateStatic()
xEventGroupClearBits()
xEventGroupClearBitsFromISR()
xEventGroupSetBits()
xEventGroupSetBitsFromISR()
xEventGroupWaitBits()
软件定时器
xTimerCreate()
xTimerCreateStatic()
xTimerStart()
xTimerStop()
xTimerReset()
xTimerChangePeriod()
xTimerStartFromISR()
xTimerStopFromISR()
xTimerResetFromISR()
xTimerChangePeriodFromISR()