我这样问吧,希望大佬帮我一下. 流程图附上
流程图大概是这么个流程图了
代码部分, 在判定1秒内被开机唤醒那个地方不会写了.
是应该用p32 int0 来唤醒吗? 如果是用int0 来唤醒的话, 我是不是应该用个外部的下拉电阻或者电容之类的, 把电平拉低?
if(PCON&0x20){
diaodianflag=1;
PCON &= ~0x20;
WKTCL = 0xff; //设定掉电唤醒时钟约为1秒钟
WKTCH = 0x81;
Shutdown();
if(diaodianflag==0)mode++;
SaveCounter();
while((PCON & 0x20) != 0) //复查掉电标志
{
PCON &= 0xDF; //清除掉电标志
_nop_();
_nop_(); //坐等掉电
}
}
与其被代码困住死磕,不如说说要实现什么样的效果,也许有其他更合适的方案。
感觉你搞这个时间不短了,起码半年以上了。 晓飛飛 发表于 2025-7-5 19:54
与其被代码困住死磕,不如说说要实现什么样的效果,也许有其他更合适的方案。
感觉你搞这个时间不短了,起 ...
其实已经弄好了.
已经在鱼上面卖了一点了. 不过之前那个是属于电子开关的
现在这个机械的其实之前也弄好了.
但是现在我功能上面加不上去,, 就是缺失两次断电和两次以上断电的判定.
晓飛飛 发表于 2025-7-5 19:54
与其被代码困住死磕,不如说说要实现什么样的效果,也许有其他更合适的方案。
感觉你搞这个时间不短了,起 ...
我现在的思路核心 就是那个 掉电模式 1秒以后会被掉电唤醒定时器唤醒.
但是如果一秒以内怎么唤醒.. 只有一个机械开关.
如果加上下拉, 那p32就一直 是低电平,可能进不了掉电模式, 或者进去就被唤醒了
如果加上电容(还没试)
页:
[1]