打印
[PIC®/AVR®/dsPIC®产品]

在中断处理函数中进入掉电模式(Power Down)需要注意什么?

[复制链接]
349|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiekou001|  楼主 | 2023-12-25 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果没有更改NVIC的默认值,在中断处理函数中进入掉电模式,会造成无法唤醒的情况。 预设状态下,所有中断的NVIC优先级皆相同,会发生「MCU在A中断内进入掉电模式后,等待B中断唤醒;但B中断要等A中断执行结束后,才开始进行唤醒MCU的动作」的矛盾现象,因此除非有改NVIC的优先级,否则不要在中断内进入掉电模式。

使用特权

评论回复
沙发
jiekou001|  楼主 | 2023-12-25 16:00 | 只看该作者
在中断处理函数中进入掉电模式(Power Down Mode)需要特别小心,因为中断处理函数通常需要迅速执行完毕,而进入掉电模式可能会导致中断无法正常处理。以下是一些在中断处理函数中进入掉电模式时需要注意的事项:

中断嵌套: 在某些架构中,中断处理函数可能会嵌套调用。如果在中断处理函数中进入掉电模式,而同时又有其他中断正在处理,可能会导致嵌套问题。确保在进入掉电模式之前,适当地禁止其他中断。

中断优先级: 如果系统中有多个中断,确保正确配置和处理中断的优先级。某些中断可能需要更紧急的处理,因此在进入掉电模式之前,要确保高优先级的中断能够得到适当处理。

中断标志: 在进入掉电模式之前,确保适当地清除中断标志位。这是为了避免在退出掉电模式时,中断标志位还保持在置位状态,导致中断被立即重新触发。

保存和恢复上下文: 在进入掉电模式之前,确保适当地保存中断处理函数中使用的寄存器和上下文信息。这样,在从掉电模式唤醒时,可以正确地恢复到中断处理函数中断前的状态。

设备状态: 在进入掉电模式之前,确保与中断相关的外设或硬件处于正确的状态。这可能需要在进入掉电模式前进行适当的设备关闭或状态保存。

唤醒源: 确保选择了正确的唤醒源,以确保在掉电模式下能够被正确唤醒。例如,可能需要配置某个外部触发条件,以便系统能够在满足条件时从掉电模式中唤醒。

掉电模式配置: 确保正确配置掉电模式的参数,包括时钟源、唤醒源、中断触发条件等。配置不当可能导致系统无法正确唤醒或导致功耗没有得到有效的降低。

在任何情况下,都建议仔细研读相关的芯片手册和技术文档,以确保对中断处理和掉电模式的理解是准确的,并按照芯片厂商的建议进行配置。此外,对于涉及低功耗设计的应用,可能需要进行详细的功耗分析和测试,以确保系统在进入和退出掉电模式时表现正常。

使用特权

评论回复
板凳
冬天下雪| | 2023-12-26 09:14 | 只看该作者
掉电模式,DMA是否还会继续工作一段时间?

使用特权

评论回复
地板
数据采集存储| | 2023-12-26 09:20 | 只看该作者
掉电模式是最容易出现错误的控制方式。特别是外部中断的处理。

使用特权

评论回复
5
答案很长吧| | 2023-12-26 09:28 | 只看该作者
DMA的操作,还是很有用的,在PD状态下。

使用特权

评论回复
6
jcky001| | 2023-12-27 10:28 | 只看该作者
确保中断被正确地关闭

使用特权

评论回复
7
cr315| | 2023-12-27 10:29 | 只看该作者
保存关键数据、释放资源

使用特权

评论回复
8
两只袜子| | 2023-12-27 10:29 | 只看该作者
关闭硬件接口
配置电源管理

使用特权

评论回复
9
OliviaSH| | 2023-12-27 18:44 | 只看该作者
这里面要关闭中断吧

使用特权

评论回复
10
在线DIY23| | 2023-12-28 09:43 | 只看该作者
需要先把所有的接口关闭,然后再使用掉电模式。

使用特权

评论回复
11
电子乐园游园ing| | 2023-12-28 09:57 | 只看该作者
先关中断,再待机。

使用特权

评论回复
12
EmmaTT| | 2023-12-28 16:43 | 只看该作者
掉电模式是不什么外设都不工作啊

使用特权

评论回复
13
亚瑟| | 2023-12-29 10:07 | 只看该作者
EmmaTT 发表于 2023-12-28 16:43
掉电模式是不什么外设都不工作啊

看门狗定时器之类的少量外设还能工作

使用特权

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

本版积分规则

126

主题

1267

帖子

2

粉丝