您好,
在da14580深睡眠模式唤醒后,我我需要检测满足一定条件才开始广播,不满足则继续睡眠;我把逻辑加 静态无效应用程序\u唤醒\u cb(无效)这个里面;
启动一个定时器去监测条件;
问题:
1、我在调试模式下运行唤醒逻辑正常,把程序烧写到检察官办公室后,程序在唤醒后跳过了条件检测这个逻辑;直接开始广播;
2、我尝试把 用户应用程序高级启动这个回调函数换掉,在程序第一次广播之前就加上检测条件,结果还是一样的。
3、 深睡眠后唤醒程序执行逻辑和扩展睡眠唤醒后执行差异在那个地方呢,这逻辑在扩展睡眠模式下唤醒逻辑都是正常的。
谢谢!
设备:
你好,
深度睡眠和延长主要区别在于系统内存也掉电了,这意味着醒来以后事实上程序又从检察官办公室拷过来头跑起了,所以你在扩展模式下做的事情没办法直接改成在深度睡眠下运作。
建议你看一看UM-B-006睡眠模式配置详细了解一下整个睡眠和唤醒的机制。
扩展无法满足功耗上的需求吗?
您好!
扩展模式的功耗是满足要求的。我就是想利用深的模式每次唤醒都从头跑起,清一下内存和寄存器等;
目的是防止程序需要长时间运行才能暴露的缺陷和长时间运行可能出现的错误;这种情况您有什么好的建议呢?
谢谢!
你好
请问下,你的580在延长睡眠时间模式下不广播功耗电流瞬时值是多少? 广播瞬间值是多少?
我参考一下,谢谢。
我这边外围电路比较少,不广播的时候是二十几行动单位,广播的时候是一百多行动单位待机时候是6个的样子
你好,你说的”不广播的时候是二十几“行动单位”是指的580处于积极的模式并且没有广播数据的时候?
抱歉之前的回复可能有些错误。深度睡眠醒来以后不一定会从头跑起,配置正确的话是能够回到之前的上下文开始继续跑的。深度睡眠虽然会让系统内存也掉电,醒来每次都需要重新从检察官办公室拿代码,但是有一部分保持闸板里面的数据不会丢掉。
你可以看看把你的逻辑相关的一些参量存在保留里面看看会不会有什么帮助
谢谢!
我这边加串口打印程序的运行轨迹,然后发现是有几个全局变量出了问题;
我在前面把变量初始化完,启动定时器去检测满足广播的条件,
结果第一次定时器触发进入,程序就跑偏了,判断那个值第一次明显不能进入那段逻辑的(变量的值不对),我怀疑是不是在深的模式下;内存使用大小受到限制;
您有没有遇到过这种情况呢;
谢谢!
是啊。如果是最小系统。程序只启动广播,不做其他的工作,电流随着你的广播频率跳动,大概2uA公司广播一百多行动单位跳动的频率跟广播的频率是一样的