原创 MTK之定时篇

2010-7-18 12:51 2819 2 2 分类: 软件与OS

★ 驱动层


例子:在接收到新短信时将GPIO24拉高0.3秒


 


kal_uint8 GPIO_timer;//新短信拉高GPIO定时用的Handle


kal_uint8 Message_Notify_GPIO = 24;


#define   NEW_MESSAGE_KEEP_LEVEL_TIME  30 //Unit 10 ms


#define   LEVEL_HIGH                              1


#define   LEVEL_LOW                               0


 


void New_Message_Pull_Up_GPIO(……)


{


……


GPTI_GetHandle(&GPIO_timer);//获取定时Handle


GPIO_WriteIO(LEVEL_HIGH, Message_Notify_GPIO);//拉高GPIO24


GPTI_StartItem(GPIO_timer,


                             NEW_MESSAGE_KEEP_LEVEL_TIME, //定时时间


                            NEW_MESSAGE_GPIO_TIMER, //定时中断函数


                            NULL);


}


 


//定时中断函数


void NEW_MESSAGE_GPIO_TIMER(void *parameter)


{


       GPTI_StopItem(GPIO_timer);//关定时中断


       GPTI_ReleaseHandle(&GPIO_timer);


       GPIO_WriteIO(LEVEL_LOW, Message_Notify_GPIO);//拉低GPIO24


}


 


★ MMI层


StartTimer(TIMER_ID, time, callback_function);


◆     TIMER_ID在plutommi\mmi\inc\TimerEvents.h中定义。


◆     time 定时时间,unit ms


◆     callback_function 回调函数

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条