没有合适的资源?快使用搜索试试~ 我知道了~
首页FREERTOS API函数总结
资源详情
资源评论
资源推荐

目录
一、任务创建 ................................................................................................................................... 4
1. xTaskCreate ............................................................................................................................... 4
2. vTaskDelete ............................................................................................................................... 5
二、任务控制 ................................................................................................................................... 5
3. vTaskDelay ................................................................................................................................. 5
4. vTaskDelayUntil ........................................................................................................................ 6
5. uxTaskPriorityGet ..................................................................................................................... 8
6. vTaskPrioritySet ........................................................................................................................ 8
7. vTaskSuspend ........................................................................................................................... 9
8. vTaskResume ............................................................................................................................ 9
9. vTaskResumeFromISR .......................................................................................................... 10
10. vTaskSetApplicationTaskTag ............................................................................................ 10
三、内核控制 ................................................................................................................................. 12
11. vTaskStartScheduler ........................................................................................................... 12
12. vTaskEndSchedule ............................................................................................................... 12
13. vTaskSuspendAll .................................................................................................................. 13
四、队列管理 ................................................................................................................................. 13
14. xQueueCreate[队列管理] .................................................................................................... 13
15. xQueueSend[队列管理] ....................................................................................................... 14
16. xQueueSendToBack[队列管理] ......................................................................................... 15

17. xQueueSendToFront[队列管理] ........................................................................................ 16
18. xQueueReceive[队列管理] .................................................................................................. 18
19. xQueuePeek[队列管理] ....................................................................................................... 19
20. xQueueSendFromISR[队列管理] ....................................................................................... 20
21. xQueueSendToBackFromISR[队列管理] ......................................................................... 21
22. xQueueSendToFrontFromISR[队列管理] ........................................................................ 23
23. xQueueReceiveFromISR[队列管理] .................................................................................. 24
24. vQueueAddToRegistry[队列管理] .................................................................................... 25
25. vQueueUnregisterQueue[队列管理] ................................................................................ 25
五、信号量..................................................................................................................................... 26
26. xSemaphoreCreateCounting[信号量] ..................................................................... 26
27. xSemaphoreCreateMutex[信号量] ........................................................................... 27
28. xSemaphoreCreateRecursiveMutex[信号量] ......................................................... 28
29. xSemaphoreTake[信号量] .......................................................................................... 29
30. xSemaphoreTakeRecursive[信号量] ........................................................................ 30
31. xSemaphoreGive[信号量] ........................................................................................... 31
32. xSemaphoreGiveRecursive[信号量] ......................................................................... 32
33. xSemaphoreGiveFromISR[信号量] ........................................................................... 32
六、联合程序 ................................................................................................................................. 33
34. xCoRoutineCreate[联合程序] ..................................................................................... 33
35. xCoRoutineCreate[联合程序] ..................................................................................... 34
36. crDELAY[联合程序] ....................................................................................................... 35

37. crQUEUE_SEND[联合程序].......................................................................................... 36
38. crQUEUE_RECEIVE[联合程序] ..................................................................................... 37
39. crQUEUE_SEND_FROM_ISR[联合程序] .................................................................... 39
40. crQUEUE_RECEIVE_FROM_ISR[联合程序] ............................................................... 40
41. vCoRoutineSchedule[联合程序] ................................................................................ 42

一、任务创建
1. xTaskCreate
task. h
portBASE_TYPE xTaskCreate(
pdTASK_CODE pvTaskCode,
const portCHAR * const pcName,
unsigned portSHORT usStackDepth,
void *pvParameters,
unsigned portBASE_TYPE uxPriority,
xTaskHandle *pvCreatedTask
);
创建新的任务并添加到任务队列中,准备运行
Parameters:
pvTaskCode
指向任务的入口函数. 任务必须执行并且永不返回 (即:无限循
环).
pcName
描述任务的名字。主要便于调试。最大长度由
configMAX_TASK_NAME_LEN.定义
usStackDepth
指定任务堆栈的大小 ,堆栈能保护变量的数目- 不是字节数. 例
如,如果堆栈为 16 位宽度,usStackDepth 定义为 100, 200 字
节,这些将分配给堆栈。堆栈嵌套深度(堆栈宽度)不能超多
最大值——包含了 size_t 类型的变量

pvParameters
指针用于作为一个参数传向创建的任务
uxPriority
任务运行时的优先级
pvCreatedTask
用于传递一个处理——引用创建的任务
返回: pdPASS 是如果任务成功创建并且添加到就绪列中,另外错误代码在
projdefs. H 文件定义
2. vTaskDelete
task. h
void vTaskDelete( xTaskHandle pxTask );
INCLUDE_vTaskDelete 必须定义为 1,这个函数才能可用。查看配置部分获得
更多信息。
从 RTOS 实时内核管理中移除任务。要删除的任务将从就绪,封锁,挂起,事
件列表中移除。
注意:空闲任务负责释放内核分配给已删除任务的内存。因此,如果应用程序调
用了 vTaskDelete (),微控制器执行时间,空闲任务不假死是很重要的。内存分
配给任务的代码不会自动释放,应该在任务删除之前。
参数:
pxTask
处理要删除的任务。传递 NULL 将引起调用任务删除
二、任务控制
3. vTaskDelay
task. h
void vTaskDelay( portTickType xTicksToDelay );
剩余41页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0