问题描述: 在使用DSPS_v_5.150.2工程中添加wakeup_timer = app_easy_timer(DC_TIMER_TO,dc_timer_cb);定时DC_TIMER_TO=50.发现dc_timer_cb函数只被触发一次,而不是500ms周期触发。请问是我哪里还需要配置么?请DIALOG技术和论坛朋友帮忙指点下。 1.ke_msg_id_t wakeup_timer;
2. void dc_timer_cb(void) { static uint8_t i = 0;
wakeup_timer = 0xFFFF;
if(i == 0) { i = 1; GPIO_SetActive( LED_PORT, LED_PIN); }else { i = 0; GPIO_SetInactive( LED_PORT, LED_PIN); }
arch_printf("%d: dc events\r\n",__LINE__); } 3.wakeup_timer = app_easy_timer(DC_TIMER_TO,dc_timer_cb);
p.s 使用官方例程ble_app_barebone,修改以下函数,发现P1.0电平是交替,函数 adv_data_update_timer_cb是被循环调用的。 static void adv_data_update_timer_cb() { static uint8_t i = 0; app_adv_data_update_timer_used = 0xFFFF;
if(i == 0) { i = 1; GPIO_SetActive( GPIO_PORT_1, GPIO_PIN_0); }else { i = 0; GPIO_SetInactive( GPIO_PORT_1, GPIO_PIN_0); } app_easy_gap_advertise_stop(); }
谢谢,我开启app_easy_timer()函数的目的是想周期唤醒DA14583 1.如果我使用硬件timer的话,在extend_sleep模式下,硬件timer是不能使用的。 2.重开一个定时器的话,算是BLE event么?或者说这样子能唤醒DA14583么? void dc_timer_cb(void) { static uint8_t i = 0;
arch_printf("%d: dc events\r\n",__LINE__); wakeup_timer = app_easy_timer(DC_TIMER_TO,dc_timer_cb); }
@Gongyu_Dialog 期待您的回复。。