定时器0中断在连接时停止
我正在使用SDK 3.0.10.1
嗨Mohit3112,
你能给我你的设置吗?你在用睡眠吗?使用睡眠时,禁用包括定时器0和2的外设,所以我想你不使用睡眠,并且您有一个滴答声计时器,在预定义的时间内中断,当您的设备连接时,中断从未发生,则是正确的?
谢谢mt_dialog.
是连接中断永不发生的这是我的设置静态void init_timer_scheduler(void){set_tmr_enable(clk_per_reg_tmr_enabled);set_tmr_div(clk_per_reg_tmr_div_8);timer0_set_pwm_high_counter(0);timer0_set_pwm_low_counter(0);timer0_init(tim0_clk_fast,pwm_mode_one,tim0_clk_div_by_10);timer0_set_pwm_on_counter(4000);timer0_register_callback(调度程序);timer0_enable_irq();}app_init_func(void){struct flip_main_fsm_msg * msg = ke_msg_alloc(flip_main_fsm_msg,task_app,task_app,flip_main_fsm_msg);msg-> type = 0;KE_MSG_SEND(MSG);}int flip_main_fsm_msg_handler(ke_msg_id_t const msgid,const struct flip_main_fsm_msg * param,ke_task_id_t const dest_id,ke_task_id_t const src_id){if(param-> type == 0){init_ppg_sensor();init_timer_scheduler();timer0_start();}否则if(param-> type == 1){timer0_disable_irq();timer0_stop();}return(ke_msg_consumed);}
静态void init_timer_scheduler(void){set_tmr_enable(clk_per_reg_tmr_enabled);set_tmr_div(clk_per_reg_tmr_div_8);timer0_set_pwm_high_counter(0);timer0_set_pwm_low_counter(0);timer0_init(tim0_clk_fast,pwm_mode_one,tim0_clk_div_by_10);timer0_set_pwm_on_counter(4000);timer0_register_callback(调度程序);timer0_enable_irq();}app_init_func(void){struct flip_main_fsm_msg * msg = ke_msg_alloc(flip_main_fsm_msg,task_app,task_app,flip_main_fsm_msg);msg-> type = 0;KE_MSG_SEND(MSG);}int flip_main_fsm_msg_handler(ke_msg_id_t const msgid,const struct flip_main_fsm_msg * param,ke_task_id_t const dest_id,ke_task_id_t const src_id){if(param-> type == 0){init_ppg_sensor();init_timer_scheduler();timer0_start();}否则if(param-> type == 1){timer0_disable_irq();timer0_stop();}return(ke_msg_consumed);}
app_init_func(void){struct flip_main_fsm_msg * msg = ke_msg_alloc(flip_main_fsm_msg,task_app,task_app,flip_main_fsm_msg);msg-> type = 0;KE_MSG_SEND(MSG);}int flip_main_fsm_msg_handler(ke_msg_id_t const msgid,const struct flip_main_fsm_msg * param,ke_task_id_t const dest_id,ke_task_id_t const src_id){if(param-> type == 0){init_ppg_sensor();init_timer_scheduler();timer0_start();}否则if(param-> type == 1){timer0_disable_irq();timer0_stop();}return(ke_msg_consumed);}
int flip_main_fsm_msg_handler(ke_msg_id_t const msgid,const struct flip_main_fsm_msg * param,ke_task_id_t const dest_id,ke_task_id_t const src_id){if(param-> type == 0){init_ppg_sensor();init_timer_scheduler();timer0_start();}否则if(param-> type == 1){timer0_disable_irq();timer0_stop();}return(ke_msg_consumed);}
我不使用任何睡眠模式
我没有看到这样的行为,当广告和连接的中断时,因为它们应该(i ve在自定义配置文件示例中实现了代码),问题应该是计时器的开始/停止的消息处理也许您在连接设备时发送停止消息?
不,我没有发送任何邮件来停止设备连接的计时器,我在app_connection函数中发送了一个gapc_param_update请求,但为什么这将停止计时器中断?
Aslo我正在使用SDK-3.0.10.1和Nexus 5运行Android棉花糖
不,这不应该与中断进行间隔,通过激活外设设置部分中的计时器无法运行一个简单的测试,一旦580开始操作开始计时器并切换LED,发出连接并检查并检查定时器继续切换LED。如果您提到的设置连接后,请检查计时器是否停止?
嗨Mohit3112,
你能给我你的设置吗?你在用睡眠吗?使用睡眠时,禁用包括定时器0和2的外设,所以我想你不使用睡眠,并且您有一个滴答声计时器,在预定义的时间内中断,当您的设备连接时,中断从未发生,则是正确的?
谢谢mt_dialog.
是连接中断永不发生的
这是我的设置
静态void init_timer_scheduler(void)
{
set_tmr_enable(clk_per_reg_tmr_enabled);
set_tmr_div(clk_per_reg_tmr_div_8);
timer0_set_pwm_high_counter(0);
timer0_set_pwm_low_counter(0);
timer0_init(tim0_clk_fast,pwm_mode_one,tim0_clk_div_by_10);
timer0_set_pwm_on_counter(4000);
timer0_register_callback(调度程序);
timer0_enable_irq();
}
app_init_func(void){
struct flip_main_fsm_msg * msg = ke_msg_alloc(flip_main_fsm_msg,
task_app,task_app,
flip_main_fsm_msg);
msg-> type = 0;
KE_MSG_SEND(MSG);
}
int flip_main_fsm_msg_handler(ke_msg_id_t const msgid,
const struct flip_main_fsm_msg * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
if(param-> type == 0)
{
init_ppg_sensor();
init_timer_scheduler();
timer0_start();
}
否则if(param-> type == 1)
{
timer0_disable_irq();
timer0_stop();
}
return(ke_msg_consumed);
}
我不使用任何睡眠模式
嗨Mohit3112,
我没有看到这样的行为,当广告和连接的中断时,因为它们应该(i ve在自定义配置文件示例中实现了代码),问题应该是计时器的开始/停止的消息处理也许您在连接设备时发送停止消息?
谢谢mt_dialog.
不,我没有发送任何邮件来停止设备连接的计时器,我在app_connection函数中发送了一个gapc_param_update请求,但为什么这将停止计时器中断?
Aslo我正在使用SDK-3.0.10.1和Nexus 5运行Android棉花糖
嗨Mohit3112,
不,这不应该与中断进行间隔,通过激活外设设置部分中的计时器无法运行一个简单的测试,一旦580开始操作开始计时器并切换LED,发出连接并检查并检查定时器继续切换LED。如果您提到的设置连接后,请检查计时器是否停止?
谢谢mt_dialog.