CH582休眠5秒后唤醒扫描工作,然后再休眠,但过一段时间后周期唤醒停止了!

我的项目产品用到蓝牙功能,平时无人值守时,芯片必须每5秒钟唤醒一次,扫描各传感器是否异常,若正常则再进入休眠。所以定时唤醒功能是必须的,我用到的函数是

image.png

但不知道为什么有时候正常工作1个小时后会停止唤醒,请问有什么解决办法没!

检查一下TMOS任务的书写是否存在问题,EVENT的调用也检查一下,在唤醒的时候可以加上打印信息观察,或者设置一个TMOS任务进行翻转点灯的操作,验证tmos任务是有在持续运行。

可以留一个邮箱,我们原厂人员检查一下是否存在问题。



唤醒时和入眠前都是打印的

image.png

邮箱:个人信息保护,已隐藏


已发送至邮箱,请查收。


上电后初始化正常,但没有启动扫描

image.png

代码如下:

image.png

但是 按键唤醒后,这个扫描任务会自动被激活。请问这是什么状态,怎么解决一下?






TMOS任务的第一次执行可以放在初始化里面,确保初始化时能够执行到,如下图写法验证测试。

image.png


image.png

可以立刻执行,但任务有时不能定时不执行

image.png


库v1.3换为v1.5后,出现错误image.png1.5的使用资料吗?



这里你的替换应该是LIB文件夹里面的某个文件,你需要将整个lib文件夹都替换掉,确保文件夹中的所有文件都被替换了,不然会出现库版本与头文件不匹配的现象。


库v1.3换为v1.5后,测试3个芯片,2天,有一个芯片没有停止过,有2个芯片运行30分钟左右又会停止,实在令人费解。

tmos_start_task( myAppTaskID , SCAN_EVENT ,MS1_TO_SYSTEM_TIME(5000) );

注册的任务在休眠状态下,有时不会被执行,但按键后又会被激活,很奇怪!百分百全执行不能保证,还有什么解决方案呢?


你写的TMOS任务是否与按键存在绑定关系,如按键按下后执行某个TMOS任务。否则不存在按键后激活某个TMOS任务。

TMOS任务第一次执行需要放在确定能够执行到的地方,可以加上打印看看第一次是否有执行到;开启第一次执行后对于该任务的处理也加上打印信息,验证是否执行到。

注意时间的处理,如先验证1s执行一次任务是否正常。

注意先使用我们提供的处理,使用peripheral例程里的已经注册好的id,添加一个TMOS任务,开启睡眠验证是否正常执行。

这里提供一份TMOS任务的讲解作为参考:

WCH TMOS用法详解 - debugdabiaoge - 博客园 (cnblogs.com)


1、打印肯定是有的

唤醒时和入眠前都是打印的

2、tmos的用法肯定是没问题的。因为芯片都能正常在运行,就是有停止的概率出现。

我这边分析,认为就是tmos注册的task在某个状态下是没有激活的,这个状态的概率很低,但肯定存在,因为管脚中断发生后,这个任务会自动激活,中断里没有任何涉及tmos任务的调用。


您这里将设置的时间参数发送邮件至邮箱lpc@wch.cn,我这里测试验证一下。


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