完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在573方案上挂备用电池,计划在12V电源丢失后进入 shutdown 模式维持RTC时钟。
目前用的PB22口检测12V电源丢失,启用下降延中断,在中断中开启PB22口上升延中断唤醒后,用 LowPower_Shutdown(0) 掉电。 目前发现掉电几秒后能唤醒重启,但掉电时间再久一些,比如10秒以上,就再也启不来,得拨掉所有电源才行。 即使掉电几秒后重启时间也觉得蛮久的,大概5-6秒后才重启。 |
|
相关推荐
4个回答
|
|
贴一下代码
static void __vin_go_shutdown(void) { GPIOB_ModeCfg(GPIO_Pin_22, GPIO_ModeIN_Floating); GPIOB_ITModeCfg(GPIO_Pin_8, GPIO_ITMode_RiseEdge); PWR_PeriphWakeUpCfg(ENABLE, RB_SLP_GPIO_WAKE, Edge_LongDelay); PFIC_EnableIRQ(GPIO_B_IRQn); LowPower_Shutdown(0);}//初始化掉电static void __vin_lost_detect_init(void) { GPIOB_ModeCfg(GPIO_Pin_22, GPIO_ModeIN_PD); GPIOB_ITModeCfg(GPIO_Pin_8, GPIO_ITMode_FallEdge); PFIC_EnableIRQ(GPIO_B_IRQn); // if (GPIOB_ReadPortPin(GPIO_Pin_22) == 0 && GPIOB_ReadPortPin(GPIO_Pin_22) == 0) { __vin_go_shutdown(); }}__attribute__((interrupt("WCH-Interrupt-fast")))__attribute__((section(".highcode")))void GPIOB_IRQHandler(void) { GPIOB_ClearITFlagBit(GPIO_Pin_8); __vin_go_shutdown();} |
|
|
|
|
|
|
|
我也遇到觉得很奇怪的问题 ,休眠后,短时间 唤醒都是好的,时间长了,就不行了,后来在初始化部分加了 大概200ms延时就好了
|
|
|
|
理论上是不会出现这个问题
1、我发给你的代码是否有出现这个现象,如果有问题可同我说明,我会进一步排查; 2、是否在代码上进行了修改导致出现了这个现象,如果是,可以排除一下是添加哪些功能导致出现这个问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2569 浏览 2 评论
2118 浏览 1 评论
ch554g的板子准备烧录程序,用串口总是显示等待设备连接是为啥
970浏览 14评论
请问ch32v307用ch-link调试或者读写有什么特殊操作方法吗?
882浏览 13评论
Windows系统下如何确定COM口为CH340/CH341设备?
2151浏览 12评论
669浏览 12评论
CH32V307以太网接近满速后,几秒或几十秒后就死机怎么解决?
1917浏览 11评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-28 19:29 , Processed in 0.525810 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号