下载此文档

MTK定时器消息处理机制.doc


文档分类:通信/电子 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
MTK定时器消息处理机制
一、基本概念及Neclus内核定时器初始化
 
expires:指定定时器到期的时间,这个时间被表示成自系统启动以来的时钟滴答计数(也即时钟节拍数)。当一个定时器的expires值小于或等于jiffies变量时,我们就说这个定时器已经超时或到期了。在初始化一个定时器后,通常把它的expires域设置成当前expires变量的当前值加上某个时间间隔值(以时钟滴答次数计。
typedef struct timertable
{    
       U16               timer_id[SIMULTANEOUS_TIMER_NUM];
      
       eventid           event_id[SIMULTANEOUS_TIMER_NUM];
      
       oslTimerFuncPtr    callback_func[SIMULTANEOUS_TIMER_NUM];
      
       struct timertable     *next;
} TIMERTABLE;
typedef lcd_dll_node *eventid;
 
struct lcd_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 消息。
//L4 init the timer
 
void L4InitTimer(void)
{
  
       TIMERTABLE       *p;
       TIMERTABLE       *pp;   
       p = ;
       pp = NULL;
       do
       {    
              if (p != NULL)
              {
                     pp = p->next;
                     OslMfree(p);
              }
              p = pp;
       } while (p != NULL);
      
       memset(&g_timer_table, 0, sizeof(TIMERTABLE));
       g_timer_table_size = SIMULTANEOUS_TIMER_NUM;
       g_timer_table_used = 0;
 
  
   get_clocktime_callback_func = NULL;
   set_clocktime_callback_func = NULL

MTK定时器消息处理机制 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjc201601
  • 文件大小66 KB
  • 时间2018-01-11
最近更新