Start a timer in a interrupt?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Start a timer in a interrupt?

跳至解决方案
1,540 次查看
danielchai
Senior Contributor I

Hi All,

I am using MK60F120, MQX4.0.1, cw10.4.

And now I create a timer to generate a interrupt every 50ms.

When I start the timer in the main task, it works fine. But when I start the timer in a button interrupt, it does not work.

I am using following code to start the timer.

*TimerID = _timer_start_periodic_every_ticks(key_generator, 0, TIMER_ELAPSED_TIME_MODE,Ticks);

Is there something wrong or I can't start a timer in a interrupt?

Thank you.

-Daniel

0 项奖励
回复
1 解答
1,288 次查看
Martin_
NXP Employee
NXP Employee

Hi Daniel,

MQX timer functions do a call to _lwsem_wait(), under some conditions. _lwsem_wait() can't be called from an isr. Therefore, MQX timer functions should not be called from an isr.

-Martin

在原帖中查看解决方案

0 项奖励
回复
1 回复
1,289 次查看
Martin_
NXP Employee
NXP Employee

Hi Daniel,

MQX timer functions do a call to _lwsem_wait(), under some conditions. _lwsem_wait() can't be called from an isr. Therefore, MQX timer functions should not be called from an isr.

-Martin

0 项奖励
回复