DA14683的定时器操作


勤基科技 陈杰明

接口位置
打开开发环境,导入pxp_reporter工程,找到如下位置:pxp_report->sdk->peripherals->src,在这个代码目录下,我们打开time相关的C文件 。
以timer0为例,可以看到这个timer0的初始化函数。
在hw_timer0_init函数中,出了最后调用的hw_timer0_configure函数是初始化定时器的接口以外,其他的语句都是reset定时器相关的寄存器。
再看以下函数:

 

我们注册定时器中断函数的时候可以调用hw_timer0_register_int接口,如果在使用过程中要取消定时器中断函数,就调用hw_timer0_unregister_int接口。形参只需要传入用户定义的函数即可。

参数设置
当我们在调用hw_timer0_init这个函数初始化定时器的时候,需要传入一个结构体形参cfg,这个形参最终是传给了以下函数:

 

然后再看看cfg结构体需要如何定义:

 

在hw_timer0.h里面可以找到相关结构体定义方法,具体用法后面都有英文注释。用户可以自行去.h文件里面查阅。

应用
首先初始化cfg参数
Timer0_config cfg_timer0 = {
         .clk_src = HW_TIMER0_CLK_SRC_FAST,
         .fast_clk_div = HW_TIMER0_FAST_CLK_DIV_1,
         .on_clock_div = false,               
         .on_reload = 0,               
         .t0_reload_m = 500,               
         .t0_reload_m = 500,       
         };
        
viod timer0_user_handler()

     //add your code
}
hw_timer0_init(cfg_timer0);
hw_timer0_register_int(timer0_user_handler);
 
 
 
以上就是定时器0的初始化方法,timer1,Timer2配置方法类似。详细的配置方法可参考peripherals_demo这个例程。
 
Dialog技术讨论,QQ群871600668
posted @ 2018-11-27 10:40  深圳勤基科技  阅读(411)  评论(0编辑  收藏  举报