(二)鸿蒙设备端应用开发——定时器的应用
定时器能够在规定到达的时间时,去执行指定的任务添加相关头文件1.1 标准C库头文件#include <stdio.h>#include <unistd.h>#include <string.h>1.2 鸿蒙头文件#inlcude"cmsis_os.h"#inlcude"ohos_init.h"定义定时器回调函数定时器回调函数作用:当定时器到达指定时间,调用该函数
·
定时器能够在规定到达的时间时,去执行指定的任务。支持一次性和重复性定时器
1. 添加相关头文件
1.1 标准C库头文件
#include <stdio.h>
#include <unistd.h>
#include <string.h>
1.2 鸿蒙头文件
#inlcude "cmsis_os.h"
#inlcude "ohos_init.h"
2. 定义定时器回调函数
定时器回调函数作用:当定时器到达指定时间,调用该函数执行指定的任务。
void timer_callback(void *arg)
{
(void) arg;
printf("定时器启动,开始执行定时器任务\r\n");
/*在下方添加定时器要执行的任务*/
}
3. 定义定时器属性,创建与启动定时器
uint32_t exec; //定义回调函数参数
void timer_task(void)
{
osTimerId_t id; //定义定时器ID
uint32_t timerDelay; //定义定时器延时
osStatus_t status; //定义定时器状态
//调用创建定时器函数 (定时器回调函数,定时器类型, 回调函数参数, NULL)
id = osTimerNew(timer_callback, osTimerPeriodic, &exec, NULL);
if(id != NULL)
{
timerDelay = 100U; //设置定时器延时
status = osTimerStart(id, timerDelay); //启动定时器,开始计时
if(status != osOK) //判断定时器是否启动成功
{
printf("Start timer failed......\r\n");
}
}
}
4. 总程序代码
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#inlcude "cmsis_os.h"
#inlcude "ohos_init.h"
void timer_callback(void *arg)
{
(void) arg;
printf("定时器启动,开始执行定时器任务\r\n");
/*在下方添加定时器要执行的任务*/
}
uint32_t exec; //定义回调函数参数
void timer_task(void)
{
osTimerId_t id; //定义定时器ID
uint32_t timerDelay; //定义定时器延时
osStatus_t status; //定义定时器状态
//调用创建定时器函数 (定时器回调函数,定时器类型, 回调函数参数, NULL)
id = osTimerNew(timer_callback, osTimerPeriodic, &exec, NULL);
if(id != NULL)
{
timerDelay = 100U; //设置定时器延时
status = osTimerStart(id, timerDelay); //启动定时器,开始计时
if(status != osOK) //判断定时器是否启动成功
{
printf("Start timer failed......\r\n");
}
}
}
更多推荐
已为社区贡献5条内容
所有评论(0)