打印
[技术问答]

HC32F460掉电模式

[复制链接]
4780|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HC32F460掉电模式外部中断怎么都唤醒不了,怎么实现呢

使用特权

评论回复
沙发
abcd文刀三皮| | 2021-11-30 15:02 | 只看该作者

6914061a5cc33b832d.png (96.98 KB )

6914061a5cc33b832d.png

使用特权

评论回复
板凳
xiaos200800| | 2021-11-30 16:02 | 只看该作者
华大的掉电模式,有一点特殊,进入低功耗的代码需要在ramcode当中运行,否则不能正常进入低功耗
然后掉电模式需要 有WKUP的引脚才能唤醒,并且在进入低功耗之前,正确配置中断唤醒源。

欢迎大家加入Q群280250936,一起探讨华大开发技术问题。

使用特权

评论回复
评论
心灵的天空 2021-11-30 16:06 回复TA
牛啊牛,这都能找到我 
地板
心灵的天空|  楼主 | 2021-11-30 16:22 | 只看该作者
本帖最后由 心灵的天空 于 2021-11-30 16:23 编辑

记录一下
掉电模式唤醒引脚
PA0               WKUP0_0
PB1               WKUP0_1
PB2               WKUP0_2
PB3               WKUP0_3

PB4               WKUP1_0
PB5               WKUP1_1
PB6               WKUP1_2
PB7               WKUP1_3

PA8               WKUP2_0
PA9               WKUP2_1
PA11             WKUP2_3

PA12             WKUP3_0
PA13             WKUP3_1
PA14             WKUP3_2
PA15             WKUP3_3

使用特权

评论回复
5
心灵的天空|  楼主 | 2021-11-30 19:13 | 只看该作者

谢谢了,目前按键事件可以唤醒,但是中断不行,能看一下你配置的源码吗

使用特权

评论回复
6
wubangmi| | 2021-12-1 09:22 | 只看该作者
心灵的天空 发表于 2021-11-30 19:13
谢谢了,目前按键事件可以唤醒,但是中断不行,能看一下你配置的源码吗
...

掉电模式唤醒是程序从头开始运行,相当于是复位后重新开始跑代码,不会进中断,只是唤醒

使用特权

评论回复
7
心灵的天空|  楼主 | 2021-12-1 09:41 | 只看该作者
wubangmi 发表于 2021-12-1 09:22
掉电模式唤醒是程序从头开始运行,相当于是复位后重新开始跑代码,不会进中断,只是唤醒 ...

按键事件,我只能唤醒一次,并且添加了标志位清除操作,第二次就不能唤醒了.
这个是1.2的版本
    PWC_ClearWakeup0Flag(0xff);
    PWC_ClearWakeup1Flag(0xff);
    stcPwcWkupEdgCfg.enPtwk0Edge = EdgeRising;
    PWC_PdWkupEdgeCfg(&stcPwcWkupEdgCfg);
    PWC_PdWakeup0Cmd(PWC_PDWKEN0_WKUP00,Enable);

使用特权

评论回复
8
wubangmi| | 2021-12-1 10:09 | 只看该作者
心灵的天空 发表于 2021-12-1 09:41
按键事件,我只能唤醒一次,并且添加了标志位清除操作,第二次就不能唤醒了.
这个是1.2的版本
    PWC_C ...

那应该是你代码写错了

使用特权

评论回复
评论
心灵的天空 2021-12-9 11:20 回复TA
那我掉电模式3为什么能够唤醒 
心灵的天空 2021-12-1 11:10 回复TA
我只有Vcap_1,电容是2.2uF,和推荐的0.22和0.1uF,会不会和这个有关 
9
心灵的天空|  楼主 | 2021-12-1 12:17 | 只看该作者
掉电模式配置的源码,目前只能唤醒一次,第二次就是唤醒不了, 用的1.0版本
/* Config power down mode. */
    stcPwcPwrMdCfg.enPwrDownMd = PowerDownMd2;
    stcPwcPwrMdCfg.enRLdo = Enable;
    stcPwcPwrMdCfg.enIoRetain = IoPwrDownRetain;
    stcPwcPwrMdCfg.enRetSram = Enable;
    stcPwcPwrMdCfg.enVHrc = Enable;
    stcPwcPwrMdCfg.enVPll = Enable;
    stcPwcPwrMdCfg.enDynVol =  Voltage11;
    stcPwcPwrMdCfg.enDrvAbility = HighSpeed;
    stcPwcPwrMdCfg.enPwrDWkupTm = Vcap01;

    PWC_PowerModeCfg(&stcPwcPwrMdCfg);

/********************Config WKUP 0_0 event*************************************/

    PWC_ClearWakeup0Flag(PWC_PTWK0_WKUPFLAG);
    stcPwcWkupEdgCfg.enPtwk0Edge = EdgeRising;
    PWC_PdWkupEdgeCfg(&stcPwcWkupEdgCfg);
    PWC_PdWakeup0Cmd(PWC_PDWKEN0_WKUP00,Enable);

使用特权

评论回复
10
海洋无限| | 2021-12-1 12:33 | 只看该作者
那看来需要外部触发才能唤醒了

使用特权

评论回复
11
心灵的天空|  楼主 | 2021-12-1 14:06 | 只看该作者
我用的官方库例程,1.0和2.1,都是只能唤醒一次,第二次直接唤醒不了,哪位大神遇到过这个问题并解决了

使用特权

评论回复
12
xiaos200800| | 2021-12-1 14:12 | 只看该作者
再次无法唤醒,看下是不是有什么中断标识没有清除,我之前调试STOP模式的时候,类似出现这样的情况
欢迎大家加入Q群280250936,一起探讨华大HC32FF460/F4A0, HC32L136的开发技术问题。

使用特权

评论回复
13
心灵的天空|  楼主 | 2021-12-1 14:37 | 只看该作者
xiaos200800 发表于 2021-12-1 14:12
再次无法唤醒,看下是不是有什么中断标识没有清除,我之前调试STOP模式的时候,类似出现这样的情况
欢迎大 ...

这是个技术大牛,人很nice

使用特权

评论回复
14
心灵的天空|  楼主 | 2021-12-1 18:03 | 只看该作者
目前测试掉电模式3,可以用按键事件唤醒,中断不行
模式1,2,4按键事件只能唤醒一次,在版本2.1中。
怀疑是板子的VCAP1电容没有选0.1uF和0.22uF
等新的开发板到了再测试验证。

使用特权

评论回复
15
bcrachel| | 2021-12-8 16:48 | 只看该作者
1.掉电模式不能通过中断唤醒,只能通过事件唤醒,且要先配置唤醒事件源
2.只能唤醒一次,请查看进掉电模式的函数是否在ram上

使用特权

评论回复
评论
心灵的天空 2021-12-9 11:23 回复TA
模式3能够一直唤醒,应该是在ram上吧,其它的不变,我只是换个模式,1、2、4只能唤醒一次 
16
wubangmi| | 2021-12-9 12:39 | 只看该作者
给你4张截图,如果你这样还搞不定的话,那基本也无话可说了

4.jpg (191.55 KB )

4.jpg

3.jpg (345.58 KB )

3.jpg

2.jpg (196.42 KB )

2.jpg

1.jpg (325.48 KB )

1.jpg

使用特权

评论回复
17
心灵的天空|  楼主 | 2021-12-9 15:23 | 只看该作者
wubangmi 发表于 2021-12-9 12:39
给你4张截图,如果你这样还搞不定的话,那基本也无话可说了

你这个我配置过了,配置系统时钟了吗,还是用的默认系统

使用特权

评论回复
18
心灵的天空|  楼主 | 2021-12-9 15:32 | 只看该作者
更新一下进度,最近又买了一块板子,HC32F460PETB的100脚的,当配置系统时钟时,会出现上述的情况,默认系统时钟时,掉电模式都可以按键事件唤醒。Vcap_1和Vcap_2都是0.1uF,之前用的板子是64脚HC32F460KETA,Vcap_1是2.2uF,还是老样子

使用特权

评论回复
19
wubangmi| | 2021-12-9 15:33 | 只看该作者
心灵的天空 发表于 2021-12-9 15:23
你这个我配置过了,配置系统时钟了吗,还是用的默认系统

例程改的,主频是例程默认的,用外部8M高频,倍频到200M

使用特权

评论回复
20
wubangmi| | 2021-12-9 15:38 | 只看该作者
心灵的天空 发表于 2021-12-9 15:32
更新一下进度,最近又买了一块板子,HC32F460PETB的100脚的,当配置系统时钟时,会出现上述的情况,默认系 ...

那是你时钟配错了,或者说你没有外部高频晶振,还直接用例程的时钟倍频,导致代码进入人为的死循环了。

使用特权

评论回复
评论
心灵的天空 2021-12-9 15:42 回复TA
外部有8M晶振,也是配置的200M,我的掉电模式3是可以用的,其它模式好像唤醒后是不再进入了 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

23

帖子

0

粉丝