定时器消息传递机制.doc

定时器消息传递机制.doc

ID:28737923

大小:54.50 KB

页数:12页

时间:2018-12-13

定时器消息传递机制.doc_第1页
定时器消息传递机制.doc_第2页
定时器消息传递机制.doc_第3页
定时器消息传递机制.doc_第4页
定时器消息传递机制.doc_第5页
资源描述:

《定时器消息传递机制.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、MTK定时器消息处理机制huazjxy@126.comcompany:Huayu一、基本概念及Neclus内核定时器初始化expires:指定定时器到期的时间,这个时间被表示成自系统启动以来的时钟滴答计数(也即时钟节拍数)。当一个定时器的expires值小于或等于jiffies变量时,我们就说这个定时器已经超时或到期了。在初始化一个定时器后,通常把它的expires域设置成当前expires变量的当前值加上某个时间间隔值(以时钟滴答次数计。typedefstructtimertable{/*storethetimer_id.MSB(MostSignificantBit)is

2、align_timer_mask*/U16timer_id[SIMULTANEOUS_TIMER_NUM];/*storetheevent_idthatreturnsfromevshed_set_event()*/eventidevent_id[SIMULTANEOUS_TIMER_NUM];/*storethetimer_expiry_func*/oslTimerFuncPtrcallback_func[SIMULTANEOUS_TIMER_NUM];/*pointtothenextTIMERTABLEdata*/structtimertable*next;}TIMERT

3、ABLE;typedeflcd_dll_node*eventid;structlcd_dll_node{void*data;lcd_dll_node*prev;lcd_dll_node*next;};(1)timer_id:定时器id最多同时12个。(2)双向链表元素event_id:用来将多个定时器调度动作连接成一条双向循环队列。(3)函数指针callback_func:指向一个可执行函数。当定时器到期时,内核就执行function所指定的函数,产生expires消息。//L4initthetimer/***********************************

4、*******************************************FUNCTION*L4InitTimer*DESCRIPTION*Thisfunctionistoinitthetimerwhiletaskcreate.**PARAMETERS*aINvoid*RETURNS*VOID.*GLOBALSAFFECTED*external_global*****************************************************************************/voidL4InitTimer(void){/*--

5、--------------------------------------------------------------*//*LocalVariables*//*----------------------------------------------------------------*/TIMERTABLE*p;TIMERTABLE*pp;/*----------------------------------------------------------------*//*CodeBody*//*-------------------------------

6、---------------------------------*//*TrytofreeTIMERTABLElistexcludeg_timer_table*/p=g_timer_table.next;pp=NULL;do{if(p!=NULL){pp=p->next;OslMfree(p);}p=pp;}while(p!=NULL);/*resetg_timer_talbe*/memset(&g_timer_table,0,sizeof(TIMERTABLE));g_timer_table_size=SIMULTANEOUS_TIMER_NUM;g_timer_tab

7、le_used=0;/*Initiatetheclocktimecallbackfunction.*/get_clocktime_callback_func=NULL;set_clocktime_callback_func=NULL;/*Initatethenoalignmentstacktimer*/stack_init_timer(&base_timer1,"MMI_Base_Timer1",MOD_MMI);/*Createanoalignmenttimerschedule*/event_scheduler1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。