请选择 进入手机版 | 继续访问电脑版

芯虎论坛

 找回密码
 立即注册
查看: 1992|回复: 0

华大HC32F460 系列的停止模式注意事项(二)

[复制链接]

9

主题

19

帖子

1212

积分

虎变龙蒸

Rank: 6Rank: 6

积分
1212
发表于 2021-11-1 10:07:24 | 显示全部楼层 |阅读模式
2.4 注意事项
1) 执行 WFI 进入停止模式之前,需确保 FLASH 不处于编程或者擦除状态(即
EFM_FSR.RDY=1),且振荡停止监测功能无效,否则芯片无法进入停止模式。
2) 执行 WFI 进入停止模式之前,需确保 DMA 处于停止状态(即DMA_EN.EN=0),否则芯片可能会出现不可保证的动作。
3) 执行 WFI 进入停止模式之前,需将 EIRQ 的数字滤波设置为无效,否则该中断不能用于STOP 唤醒。
4) 选择中断事件解除停止模式,在执行 WFI 进入停止模式之前,需使能相应中断事件唤醒停止模式(INT_WUPEN)。
5) 执行 WFI 进入停止模式之前,需确保其他外设中断(非 STOP 模式唤醒中断)都已关闭。否则其他中断的触发可能导致芯片出现不可保证的动作。唤醒后,再恢复其他外设中断状态,以免错过中断事件。
6) 执行 WFI 进入停止模式之前,须确保 HRC 震荡,若系统时钟为 HRC 和 MPLL,还需将系统时钟切换至 MRC,唤醒后再恢复系统时钟,恢复 HRC 状态。
7) 由中断事件将 MCU 从停止模式恢复时,需将系统从 MRC 恢复至用户时钟设定,并还原中断配置
- 其中第 4、5、6、7 点注意事项可通过自行关闭 NVIC 及时钟模块对应寄存器实现,或调用 HDSC 提供的 API 接口:。

en_result_t enIntWakeupEnable(uint32_t u32WakeupSrc); (使能中断事件唤醒停止模
式)

void PWC_EnterStopMd(void); (进入停止模式)
此函数额外占用约 100us@168MHz

void PWC_IrqClkBackup(void); (备份用户时钟设置)
此函数额外占用约 50us@168MHz

void PWC_IrqClkRecover(void)(恢复用户时钟设置)
此函数额外占用约 50us@168MHz
3、样例代码
3.1 代码介绍
用户可根据上述的操作流程及注意事项编写自己的代码来学习验证该模块,也可以直接通过华大半导体的网站获取到设备驱动库(Device Driver Library, DDL)的样例代码并使用其中的 LPM 里有关 stop mode的样例进行验证。
3.2 代码运行
用户可以通过华大半导体的网站获取到 HC32F460 的 DDL 的样例代码(lpm_stop_wkup),并配合评估用板(EV-HC32F460-LQFP100-050-V1.1)运行相关代码学习使用 STOP 模式。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|芯虎论坛 ( 辽ICP备18019618号 )

GMT+8, 2022-8-13 02:08 , Processed in 0.124544 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表