freertos常用的函数
时间: 2023-10-22 20:35:07 浏览: 77
1. xTaskCreate: 创建一个新的FreeRTOS任务。
2. vTaskDelete: 删除一个FreeRTOS任务。
3. xQueueCreate: 创建一个队列。
4. xQueueSend: 向一个队列发送数据。
5. xQueueReceive: 从一个队列接收数据。
6. xSemaphoreCreateBinary: 创建一个二元信号量。
7. xSemaphoreGive: 给予一个二元信号量。
8. xSemaphoreTake: 等待一个二元信号量。
9. vTaskDelay: 延迟当前任务。
10. xEventGroupCreate: 创建一个事件组。
11. xEventGroupSetBits: 设置事件组中的位。
12. xEventGroupWaitBits: 等待事件组中的位被设置。
13. xTimerCreate: 创建一个定时器。
14. xTimerStart: 启动一个定时器。
15. xTimerStop: 停止一个定时器。
相关问题
freeRTOS常用函数
FreeRTOS是一个开源的实时操作系统,常用于嵌式系统中。以下是一些常用的FreeRTOS函数:
1. `xTaskCreate()`:创建一个任务,并指定任务的入口函数、任务优先级等参数。
2. `vTaskDelete()`:删除一个任务,释放任务所占用的资源。
3. `vTaskDelay()`:使当前任务进入阻塞状态,延时一段时间后再继续执行。
4. `xSemaphoreCreateBinary()`:创建一个二值信号量。
5. `xSemaphoreTake()`:获取一个信号量,如果信号量不可用,则任务进入阻塞状态。
6. `xSemaphoreGive()`:释放一个信号量,使其可用。
7. `xQueueCreate()`:创建一个消息队列,用于任务间的通信。
8. `xQueueSend()`:向消息队列发送一条消息。
9. `xQueueReceive()`:从消息队列接收一条消息。
freertos 入口函数
FreeRTOS 的入口函数是 `vTaskStartScheduler()`。该函数会启动 FreeRTOS 内核,并开始调度任务。在调用该函数之前,必须先创建至少一个任务,并将其添加到任务列表中。因此,通常在 `main()` 函数中创建和初始化任务,然后调用 `vTaskStartScheduler()` 来启动 FreeRTOS 内核。例如:
```
int main(void)
{
// 创建和初始化任务
xTaskCreate(task1, "Task 1", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
xTaskCreate(task2, "Task 2", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
// 启动 FreeRTOS 内核
vTaskStartScheduler();
// 不会执行到这里
return 0;
}
```
其中,`task1` 和 `task2` 是任务函数,`configMINIMAL_STACK_SIZE` 是任务堆栈大小,`tskIDLE_PRIORITY` 是任务优先级,`NULL` 是参数指针。在调用 `vTaskStartScheduler()` 之后,任务会开始调度执行。
阅读全文