TI中文支持网
TI专业的中文技术问题搜集分享网站

osal_start_timerEx 被无故触发

    TI的工作人员,

    在中断函数HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )里放了osal_start_timerEx( SampleApp_TaskID, PIR_Status_Send_EVT, HAL_PIR_INTERVAL_VALUE);  这个函数。希望如果在2S内再无脉冲触发中断则置位PIR_Status_Send_EVT任务发送数据。

    但是在运行时发现,数据总是发两次。只要第一次进中断就发数据,但是数据显示从触发osal_start_timerEx函数到执行PIR_Status_Send_EVT任务,经过了10多秒,远远超过设定的2S。在第一次数据的2S之后就发送了第二次数据,第二次数据的时间是2S。

    请问这是为什么呢?

melanie zhou:

当我把低功耗模式关掉,osal_start_timerEx( SampleApp_TaskID, PIR_Status_Send_EVT, HAL_PIR_INTERVAL_VALUE);的延时时间和发送次数都正常了。请问是因为进入PM2模式,导致的计时不正常吗?

Viki Shi:

回复 melanie zhou:

如果只是进入PM2的胡,应该不影响osal_start_timerEx,PM3才会影响

melanie zhou:

回复 Viki Shi:

您好,我查了,程序只进入了PM2模式,定时发送的任务也没有错误,时间也都正确。但是就是在中断中触发中的osal_start_timerEx函数不正常,这是为什么呢?

斌斌有礼:

回复 VV:

你好:

    我也遇到在中断函数里调用osal_start_timerEx()函数的问题,解决办法就是用你说的那样,但我不知道为什么会出现这种情况,你解答一下吗?谢谢了!

赞(0)
未经允许不得转载:TI中文支持网 » osal_start_timerEx 被无故触发
分享到: 更多 (0)