echo. 发表于 2024-5-23 18:49:02

串口接收到信号后掉电休眠为啥实现不了,求助各位大佬

求求各位看看怎么回事{:5_270:}

soma 发表于 2024-5-23 19:12:48

直接中断执行不好吗

乘风飞扬 发表于 2024-5-23 19:23:31

附件例程供参考

qepuemc 发表于 2024-12-4 15:24:25

乘风飞扬 发表于 2024-5-23 19:23
附件例程供参考

这个例子大致看了看。发送55aa可以进入休眠。后面加了五六个空指令。估计有很大的作用,但是没看明白。
我遇到的问题就是。休眠之后功耗还是很高。今天了解到的就是设置为准,双向口。或者是高度输入,关闭数字输入。这个还没测试。
还有一个问题就是。要么就是进入不了休眠。要么就是进入休眠之后。立刻就会被唤醒。不能再顺利的进入休眠
我现在的操作思路就是在主循环中。先把要做的任务做完。然后打开休眠定时器。然后开始休眠。
实际运行的时候,有可能只休眠了一次。以后不会再休眠。
想请教这是什么原因{:4_196:}

乘风飞扬 发表于 2024-12-4 16:37:27

qepuemc 发表于 2024-12-4 15:24
这个例子大致看了看。发送55aa可以进入休眠。后面加了五六个空指令。估计有很大的作用,但是没看明白。
...

休眠指令后面加空指令是用于等待唤醒后时钟稳定。
进入低功耗模式前,P0~P7没有用到的,外部悬空的IO口全部设置为准双向模式,或者高阻输入模式+关闭数字输入功能(限有数字输入开关功能的脚位)。避免产生漏电流。
用到的脚位,电平要跟外围电路匹配。输出脚,外围电路是高电平也输出高,外围电路是低电平也输出低,只要不产生压差,就不会产生电流。
进入休眠后立即会被唤醒的话,好好查一下你的程序配置的哪些模块会唤醒MCU的休眠状态。规格书时钟、复位章节有介绍唤醒源。
例如开启定时器0中断后T0脚的下降沿信号就能唤醒MCU,开启了串口中断后RXD脚的下降沿信号也能唤醒MCU。休眠前把不需要唤醒脚位对应的中断关闭。
MCU唤醒后从休眠指令后面继续往下执行,接下来是否会再执行休眠指令进入休眠状态,就看你的程序怎么写了。

feiyu 发表于 2024-12-4 19:13:13

!(data/attachment/forum/202412/04/191017j13kkc12h21o1n1e.png "image.png")

这是什么写法

vb2002 发表于 2024-12-5 19:15:25

feiyu 发表于 2024-12-4 19:13
!(data/attachment/forum/202412/04/191017j13kkc12h21o1n1e.png "image.png")

这是什么写 ...

我也看到了{:4_167:}

Lkck8210 发表于 2024-12-6 10:47:29

你把判断都放到主循环外面去了

这种情况编译器都会出警告

你不是把警告不当一回事吧?
页: [1]
查看完整版本: 串口接收到信号后掉电休眠为啥实现不了,求助各位大佬