鸿蒙在CMSIS-RTOS2接口中封装了LiteOS-M的内核代码。因此当需要使用CMSIS-RTOS2接口时,只需要调用相应接口就行了。本篇文章将会记录官网API的使用方法以及使用案例,记录自己学习的想法和使用技巧会保持持续更新哟!!!

CMSIS-RTOS API v2

接口顺序将会按照小熊派官网视频讲解的顺序记录以便自己学习和使用。

软件定时器

外文名称:Timer Management
源接口地址:Timer Management
HarmonyOS_PPT:HarmonyOS内核开发-定时器管理.pdf

软件定时器可以控制函数的运行,非常便捷地控制函数的运行时长和定时服务。

结构体(数据类型)

osTimerAttr_t

所属函数:osTimerNew

数据类型属性名称描述默认值备注
const char *name定时器名称NULL
uint32_tattr_bits保留字段0U
void *cb_mem任务块指针NULL
uint32_tcb_size任务块指针大小0U

osTimerId_t

所属函数:[ osTimerStart | osTimerStop | osTimerDelete ]

所属函数返回值:osTimerNew

定时器ID,即定时器唯一标识符

osTimerFunc_t

所属函数:osTimerNew

定时器入口函数

函数可能会在当前作用域下,中断执行的任务

osTimerType_t

所属函数:osTimerNew

定时器类型

定时器类型描述
osTimerOnce定时器里面任务执行一次
osTimerPeriodic定时器里面任务循环执行

功能(函数)

osTimerNew:新建定时器

参数名称数据类型描述
funcosTimerFunc_t定时器入口函数
typeosTimerType_t定时器类型
argumentvoid *定时器入口函数的参数
attrconst osTimerAttr_t *定时器的属性
返回值osTimerId_t定时器ID

注意事项

  • 定时器只有在使用 osTimerStart 后,才能被调用
  • 可以在RTOS开始前进行调用

osTimerStart:启动定时器

参数名称数据类型描述
timer_id osTimerId_t定时器ID
ticksuint32_t指定定时器超时值
返回值osStatus_t操作结果
osStatus_t
参数名称描述
osOK操作成功
osErrorParameter定时器ID为NULL或无效
osErrorResource任务无效状态
osErrorISR任务不能被终止

osTimerStop:停止定时器

参数名称数据类型描述
timer_id osTimerId_t定时器ID
返回值osStatus_t操作结果
osStatus_t
参数名称描述
osOK操作成功
osErrorParameter定时器ID为NULL或无效
osErrorResource任务无效状态
osErrorISR任务不能被终止

osTimerDelete:删除定时器

参数名称数据类型描述
timer_id osTimerId_t定时器ID
返回值osStatus_t操作结果
osStatus_t
参数名称描述
osOK操作成功
osErrorParameter定时器ID为NULL或无效
osErrorResource任务无效状态
osErrorISR任务不能被终止

osTimerGetName:获取定时器名称

参数名称数据类型描述
timer_id osTimerId_t定时器ID
返回值String定时器名称,默认值为 " "

注意事项

  • 出错返回NULL

osTimerIsRunning:判断定时器是否运行

参数名称数据类型描述
timer_id osTimerId_t定时器ID
返回值Int0 未运行 1 运行中
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐