关于App_easy_timer的问题

4个帖子/ 0新
最后一篇
兰迪宇
离线
最后一次露面:2年10个月前
加入:2015-01-28 08:49
关于App_easy_timer的问题

使用app_easy_timer()调用函数时,
例如app_easy_timer(100,fn1);
在程序中的位置,我想检查fn1的功能是否是偏离。
如果它不争取我将要加入回调。
(在FN1中添加标志的方法不适合我)

谢谢

关键词:
设备:
mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨兰迪宇,

嗨兰迪宇,

我不知道任何其他方法建议如果函数已经存在,而不是放置标志以指示它,为什么该方法没有套装?

如果您知道您的定时器已开始计数(app_easy_timer()返回一旦设置返回ID,则可以在变量中存储该ID),因此您可以将此ID设置为Easy_Timer_Invalid_Timer时,当处理程序发生时,您可以检查如果变量的值!=easy_timer_invalid_timer尚未运行回调,而且如果变量==yeal_timer_invalid_timer已经过计时器,并且已调用该函数。

谢谢mt_dialog.

兰迪宇
离线
最后一次露面:2年10个月前
加入:2015-01-28 08:49
我说的是你说的

我说的是你说的
在回调函数中
{
handler = easy_timer_invalid_timer;
}
handler = app_easy_timer();
当我想取消或修改计时器时
如果(处理程序!= easy_timer_invalid_timer),我有判断
{
app_easy_timer_cancel(handler)
}
有时它将停止在Assert_Warning(0)中,

当使用那里的功能时,它通常会遇到问题。
如何制作问题?

非常感谢

mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨兰迪宇,

嗨兰迪宇,

如果您收到错误,则意味着要取消具有无效处理程序值的计时器,或者取消没有回调的计时器(空回调或空复位)。检查app_easy_timer_cancel()有一个条件检查上面提到的问题,可以检查是否调试它。

我想原因是,当你取消计时器时(调用app_easy_timer_cancel()时)您不会在easy_timer_invalid_timer中设置处理程序值,因此在运行取消功能时,您将通过取消的回调传递有效的句柄,并且您会收到错误由于您取消了已取消的计时器。

谢谢mt_dialog.