你好,我在peripheral 设置了一个事件,但是没有反应?
if ( events & SBP_TIMER_EVT )
{
counter ++;
NPI_WriteTransport("counter\n",8);
osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_TIMER_EVT, SBP_TIMER_EVT_PERIOD );
return (events ^ SBP_TIMER_EVT);
}
之后在函数那里调用了osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_TIMER_EVT, SBP_TIMER_EVT_PERIOD );
#define SBP_TIMER_EVT_PERIOD 20
我想问最短的定时时间是多少?
为什么会没有打印出来
yafan hu:
你在这个事件之前就没有触发这个事件吧?如果没有,那么osal_start_timerEx( simpleBLEPeripheral_TaskID, SBP_TIMER_EVT, SBP_TIMER_EVT_PERIOD );就没法执行,则就不会循环执行这个事件,当然就不会打印出来数据了。
hua huamao:
楼上正解,当然你也可以用uint8 osal_start_reload_timer( uint8 taskID, uint16 event_id,uint32 timeout_value );这个函数来执行定时周期的操作,会自动重载