打印
[技术问答]

小华MCU的停止模式代码样例

[复制链接]
1684|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2023-5-27 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 代码介绍
用户可根据上述的操作流程及注意事项编写自己的代码来学习验证该模块,也可以直接通过小
华半导体的网站下载到设备驱动库(Device Driver Library, DDL)的样例代码并使用其中的
LPM 里有关 stop mode的样例进行验证。
以下部分简要介绍本 AN 基于 DDL 的 LPM 模块样例 lpm_stop_wkup 代码所涉及的各项配置。
1) LED 和 PORT 初始化:
本样例使用外部管脚中断唤醒 stop 模式,需对 port 进行初始化,确保对应 port 中断使能。
Led_Init();
Port_Init();

2) STOP 模式配置:
/* Config stop mode. */
stcPwcStopCfg.enStpDrvAbi = StopHighspeed;
stcPwcStopCfg.enStopClk = ClkFix;
stcPwcStopCfg.enStopFlash = Wait;
PWC_StopModeCfg(&stcPwcStopCfg);

3) 中断配置:
本样例使用外部管脚 0 中断,上升沿有效, 数字滤波无效。
/* EIRQ0 config. */
stcExintCfg.enExitCh = ExtiCh00;
stcExintCfg.enFilterEn = Disable;
stcExintCfg.enExtiLvl = ExIntRisingEdge;
EXINT_Init(&stcExintCfg);
/* Register EIRQ0.*/
stcPortIrqCfg.enIntSrc = INT_PORT_EIRQ0;
stcPortIrqCfg.enIRQn = PORT_IRQn;
stcPortIrqCfg.pfnCallback = Port_Handle;
enIrqRegistration(&stcPortIrqCfg);

4) 设置 STOP 模式中断唤醒源
/* Set wake up source EIRQ0. */
enIntWakeupEnable(Extint0WU);
/* Enable EIRQ. */
enIntEnable(Int0);
NVIC_ClearPendingIRQ(PORT_IRQn);
NVIC_SetPriority(PORT_IRQn,DDL_IRQ_PRIORITY_DEFAULT);
NVIC_EnableIRQ(PORT_IRQn);


5) 使能唤醒源中断:
/* Ensure DMA disable */
while((0 != M4_DMA1->EN_f.EN) && ((0 != M4_DMA2->EN_f.EN)));
/* Ensure FLASH is ready */
while(1 != M4_EFM->FSR_f.RDY);
PWC_EnterStopMd();

6) 进入 STOP 模式前外设状态:
确保 FLASH 不处于编程或者擦除状态,确保 DMA 处于停止状态,关闭其他外设中断。
<blockquote>/* Ensure DMA disable */

7) 唤醒后中断处理流程:
__IRQ_Handler:
PWC_IrqClkRecover(); // in pairs use
LED0_TOGGLE(); // user application
Ddl_Delay1ms(1000);
PWC_IrqClkBackup(); // in pairs use

非停止模式唤醒后的中断无需进行时钟相关配置处理。

使用特权

评论回复
沙发
tpgf| | 2024-1-6 15:11 | 只看该作者
这里的停止模式是特定的低功耗模式吗

使用特权

评论回复
板凳
nawu| | 2024-1-6 15:53 | 只看该作者
为什么需要设定为数字滤波无效呢

使用特权

评论回复
地板
zljiu| | 2024-1-6 16:35 | 只看该作者
在停止模式下 哪个时钟还能正常工作啊

使用特权

评论回复
5
tfqi| | 2024-1-6 22:01 | 只看该作者
官网例程关于停止模式有多少不同的例程啊

使用特权

评论回复
6
gwsan| | 2024-1-6 22:33 | 只看该作者
如果是上升沿有效无绿波额话  会不会在有干扰的情况下错误的退出停止模式啊

使用特权

评论回复
7
aoyi| | 2024-1-6 23:11 | 只看该作者
停止模式下 都还可以响应哪些种类的中断呢

使用特权

评论回复
8
可怜的小弗朗士| | 2024-2-25 20:08 | 只看该作者
除了停止模式都不用再唤醒后配置时钟吗

使用特权

评论回复
9
lvuu| | 2024-8-27 00:27 | 只看该作者
非停止模式下的中断处理可能不需要时钟恢复处理。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

271

主题

2300

帖子

4

粉丝