★ 驱动层
例子:在接收到新短信时将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 回调函数
文章评论(0条评论)
登录后参与讨论