请教tmos_start_task多次执行的问题

最近在学习官方基于CH582的三模键盘源码,源码中关于PM的部分是这样的:

每次有按键生成时,调用

pm_start_working(PM_WORKING_TIMEOUT, PM_IDLE_TIMEOUT);

来触发一个5分钟后的睡眠任务。这个函数内部再调用

tmos_start_task(pm_task_id, PM_ENTER_IDLE_EVENT, MS1_TO_SYSTEM_TIME(working_timeout));

那假设用户不停的按键,tmos_start_task就会被不停的调用。我的问题是,当有同一个task_id和event_type的task被多次启动时,是最新的task替换掉之前旧的task呢(即只触发一次),还是每一个task都会在它们各自的working_timeout到期时被触发?谢谢!


根据我的测试好象是前者,但是这跟我对TMOS的文档理解不太一样,我以为每个task_id里的event是形成一个链表,那么应该会允许同一个event_type有多次的触发。

顶一下


5min的周期任务,在第2min的时候set后,则会执行2min的任务一次,5min的周期任务停止。


只有登录才能回复,可以选择微信账号登录