stack timer

我的第一篇技术性文章。

stack timer的使用过程:

 1 初始化timer

stack_timer_struct *timer_adcsche;  

 

stack_init_timer(timer_adcsche, "ADC Sche Timer", MOD_BMT);//初始化,三个参数分别为timer id,timer name和MODULE id

 

 

event_scheduler     *adc_sche_event_scheduler_ptr;

adc_sche_event_scheduler_ptr = new_evshed(timer_adcsche,
                                                adc_sche_start_base_timer,
                                                adc_sche_stop_base_timer,
                                                0 , kal_evshed_get_mem, kal_evshed_free_mem, 255);

//创建一个event scheduler,六个参数分别为初始化中已经初始化好的timer id,Start timer函数,stop timer函数,无符号的int数(还不知道有什么用,在这里为0),分配内存的函数,释放内存的函数,最后是delay time,最大可延迟时间,这个表示timer的准确度,这个参数的作用主要是用于节省电池。。

 

 adc_sche_set_timer_page_align(KAL_TRUE);//This function is to set up timer as page align or not.猜测align应该为alignment.设定是否为alignment timer,即是否对timer进行调整,如果传入kal_ture,会调用evshed_set_aligned_timer(void *timer_id, kal_uint8 max_delay);其中的timer id是全局变量。

2set timer

 

MeasParameter adc_parameters[MAX_CHANNEL];

void adc_sche_set_timer(kal_uint8 adc_sche_id, kal_uint32 tick, kal_timer_func_ptr call_func)
{

 adc_parameters[adc_sche_id].adc_sche_event_id = evshed_set_event(adc_sche_event_scheduler_ptr,
                                                        (kal_timer_func_ptr)call_func, &adc_parameters[adc_sche_id], tick);

//4个参数分别为在初始化中new_evshed创建的adc_sche_event_scheduler_ptr,timer超时后的回调函数,回调函数的参数,最后一个是elapse time,一般设为1
}

 

 

上面是mmi timer的基础

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值