从PM2进入PM3如何关闭延时任务。
时间:10-02
整理:3721RD
点击:
现在可以进入PM2,但是由于存在延时任务,无法进入PM3。
断点打在osal_start_timerEx( uint8 taskID, uint16 event_id, uint32 timeout_value )函数内部能够进入,证明此函数确实被调用了,并且三个参数分别为0xf1 256 400
于是我想知道哪里调用了此函数,于是ctrl_shift_f搜索全工程发现了22处,分别在每一处打断点复位重新运行,竟然没有一个可以到达!
这是为什么,请问到底可能是在哪里调用的延时任务函数?
taskID 为0xf1?这个应该是不对的。 这个函数是一次性的定时器。你只需要关注反复调用这个函数的地方就可以了。
另外,你是用的默认例子测试的吗?协议栈是copy的还是全新安装的?
非常感谢 如你所言我发现timeout不为0确实与一次性任务函数无关,请看上图,程序运行到此处时,next=268 ,此时调用OSAL_SET_CPU_INTO_SLEEP( next );也就是halSleep(268); 但是当进入函数后,请看下面图片
下面的图片没看到。 next=268 有什么疑问吗?请再详细描述下你的问题