2. CMSIS-RTOS API列表
下面列出了 CMSIS-RTOS API v1.02 版本提供的所有API。
CMSIS-RTOS 所有API使用的错误码(cmsis-os.h):
CMSIS-RTOS API一些可选项控制是否开启(cmsis-os.h):
2.1. 内核信息和控制
| API | 描述 |
|---|---|
| osKernelInitialize | 初始化RTOS内核 |
| osKernelStart | 启动RTOS内核 |
| osKernelRunning | Query if the RTOS kernel is running |
| osKernelSysTick (可选) | Get RTOS kernel system timer counter |
| osKernelSysTickFrequency (可选) | RTOS kernel system timer frequency in Hz |
| osKernelSysTickMicroSec (可选) | Convert microseconds value to RTOS kernel system timer value |
返回值:status code
返回值:status code
返回值:0表示RTOS未启动,1表示RTOS已经启动
返回值:RTOS内核系统当前的时间
2.2. 线程管理
连接符的作用是连接两个字符串,合为一个字符串。
CMSIS-RTOS API 存放线程参数管理的结构体如下:
CMSIS-RTOS API 定义线程的宏如下:
宏定义中的 instances 表示基于此任务参数,创建出几个任务实例,比如instances为2,则会创建出两个任务。
CMSIS-RTOS API定义的获取线程参数结构体的宏如下:
管理线程参数的API如下:
| API | 描述 |
|---|---|
| osThreadCreate | 创建线程并开始执行 |
| osThreadTerminate | 停止线程执行 |
| osThreadYield | 线程主动让出 |
| osThreadGetID | 获取当前正在运行线程的ID |
| osThreadSetPriority | 改变线程优先级 |
| osThreadGetPriority | 获取线程优先级 |
其中osThreadId被定义为k_task_t指针类型:
返回值:TencentOS-tiny中的任务控制块类型指针。
返回值:osStatus
返回值:osStatus
使用时需要特别注意,在TencentOS-tiny中,调用CMSIS-RTOS API提供的优先级选项设置之后,实际设置的任务值是不同的。
CMSIS-RTOS API提供的线程优先级宏定义如下:
在TecentOS-tiny中实现的时候进行了转化:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!