1、驱动函数熟悉
驱动函数位置
ameba-rtos/component/soc/amebadplus/hal/src/timer_api.c
具体内容可以自行下载SDK查看
本文需要使用的函数如下
1.1、定时器初始化
文件中第59行起
void gtimer_init(gtimer_t *obj, uint32_t tid)
obj:创建的定时器对象
tid:定时器编号
1.2、自动重载启动定时器
文件中第200行起
void gtimer_start_periodical(gtimer_t *obj, uint32_t duration_us, void *handler, uint32_t hid)
obj:定时器对象
duration_us:定时器重载时间
handler:回调函数
hid:回调函数参数
2、创建time.c,.h
.c代码如下
#include "userTime.h"
gtimer_t time_oj; //创建定时器对象
void userTimeInit(void *handler)
{
gtimer_init(&time_oj,0); //使用定时器0
gtimer_start_periodical(&time_oj,1000,handler,0); //1毫秒定时
}
.h代码如下
#ifndef _userTime_H_
#define _userTime_H_
#include "timer_api.h"
void userTimeInit(void *handler);
#endif
3、主函数应用
3.1、回调函数
void gpioTestTask(void * pvParameters)
{
(void)pvParameters;
static unsigned int msCount = 0;
static int flag = 0;
msCount++;
if(500 <= msCount)
{
msCount = 0;
if(0 == flag)
{
flag = 1;
LED1Test(1);
}
else
{
flag = 0;
LED1Test(0);
}
}
}
3.2、初始化函数

编译烧录后会看见开发板蓝色灯0.5秒闪烁