1.Application events//定义一个时间
#define SP_EVT 10
2.Clock instance for internal periodic events//定义一个时钟结构体变量
static Clock_Struct SP_clk;
3.Create one-shot clock event//开启这个时钟,1000代笔1秒
Util_constructClock(&SP_clk, SimplePeripheral_clockHandler,1000, 0, true,SP_EVT);
位置可以放在函数SimplePeripheral_processGapMessage里面,的case GAP_DEVICE_INIT_DONE_EVENT里面
static void SimplePeripheral_processGapMessage(gapEventHdr_t *pMsg)
{
switch(pMsg->opcode)
{
case GAP_DEVICE_INIT_DONE_EVENT:
。。。。。
4.Handler function for clock timeouts.//在时间到了回调用clockHandler函数,在里面加入条件判断
static void SimplePeripheral_clockHandler(UArg arg){
if (arg == SP_EVT)
{
// Send message to app
SimplePeripheral_enqueueMsg(SP_EVT, NULL);
}
}
5.Process an incoming callback from a profile.//其实上一部分就可以实现,
//只是如果把事件放入消息队列中,去执行更好
static void SimplePeripheral_processAppMsg(spEvt_t *pMsg){
case SP_EVT:
//-------------------------------
Display_printf(dispHandle, 15, 0, "----%d--------",__LINE__);
Util_startClock(&SP_clk);
break;
}
6.Start Periodic Clock.
Util_startClock(&clkPeriodic);
这样就做到了循环
|