openharmony用ubuntu编写中断
第一部分:代码结构
软件部分目录结构
timer_demo
├─ BUILD.gn
└─timer_once.c
我们打开文件
代码打开timer_once.c
hi3861默认10ms为一个tick
主要函数
头文件
#include <stdio.h> // 标准输入输出
#include <unistd.h> // POSIX标准接口
#include "ohos_init.h" // 用于初始化服务(services)和功能(features)
#include "cmsis_os2.h" // CMSIS-RTOS API V2
创建定时
osTimerNew(osTimerFunc_t func, osTimerType_t type, const osTimerAttr_t *attr);
func:函数指针指向回调函数(时间到执行的函数)
type:定时器类型,osTimerOnce表示单次定时器,ostimer周期表示周期性定时器
argument:定时器回调函数的参数 不清楚填NULL
attr:计时器属性 不清楚填NULL
返回值:定时器ID
启动定时器,不能在中断服务调用该函数
osStatus_t osTimerStart (osTimerId_t timer_id,uint32_t ticks)
timer_id:定时器ID
ticks:时间滴答计时器的值
返回值:0 - 成功,非0 - 失败
停止定时器
osTimerStop(osTimerId_t timer_id)
timer_id: 定时器id
删除定时器
osStatus_t osTimerDelete (osTimerId_t timer_id)
timer_id:定时器ID
返回值:0 - 成功,非0 - 失败