硬汉嵌入式论坛

 找回密码
 立即注册
查看: 523|回复: 3
收起左侧

[有问必答] 低功耗一些问题请教

[复制链接]

24

主题

58

回帖

130

积分

初级会员

积分
130
发表于 2023-8-25 15:57:00 | 显示全部楼层 |阅读模式

  • 单片机的引脚全部设置为模拟输入模式会比部分设置为模拟输入的功耗更低吗?

如下图,最优的引脚设置应该是怎么样的?

2.在执行进行sleep_mode模式前应该要完成哪些设置
[C] 纯文本查看 复制代码
pwc_deep_sleep_mode_enter(PWC_DEEP_SLEEP_ENTER_WFE);

  • 引脚模式具体如何设置(只看到网上说的悬空的引脚设置为模拟输入,其它的情况是保持原状态不动还是?那如果每个引脚都有使用到,那要怎么处理?比如 原为 输出引脚、输入引脚、ADC采集引脚、晶振引脚)
  • 原为外部晶振提供时钟,在切换时钟源的时候要注意哪些地方(一般的BSP提供了一个 时钟复位及时钟启用的函数)
  • 关闭外设时钟
  • 引脚配置中断线,是否采用中断模式可选用

3.在退出sleep_mode模式后第一个要设置的地方是什么(如果在进入sleep_mode前更改了时钟源(例:外部晶振变内部晶振,但频率不变的情况   或者,频率变的情况))
  • 如果频率不变的情况下,有没有必要再次初始化外设?



上面为暂时想到的问题,主要还是想了解一下时钟切换过程中需要注意哪些点,看是否有没有实例代码片断/或流程 可以学习。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106745
QQ
发表于 2023-8-26 10:47:54 | 显示全部楼层
1  悬空的引脚适合配置模拟输入,有外部器件的,要合理设置高低电平,降低消耗。
2  进入休眠,待机和停机模式时,IO状态说明:
休眠模式:
在睡眠模式下,所有的I/O引脚都保持它们在运行模式时的状态。
停机模式:
在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。
待机模式:
在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚:
● 复位引脚(始终有效)
● 当被设置为防侵入或校准输出时的TAMPER引脚
● 被使能的唤醒引脚

3、外部时钟什么的,不需要用户去关闭,停机和待机直接就关闭了
4、Event模式也可以。
5、休眠模式唤醒后直接运行,停机模式唤醒后需要重新配置时钟,待机模式相当于硬件重启。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2023-8-30 16:40:06 | 显示全部楼层
1、进入低功耗前配置IO是根据实际需求IO应用情况进行配置,不是所有的IO直接配置成高组态切断电流回路。
2、配置唤醒机制的寄存器,关闭其他的中断
3、唤醒后还原休眠前的IO配置
回复

使用道具 举报

24

主题

58

回帖

130

积分

初级会员

积分
130
 楼主| 发表于 2023-8-31 16:08:55 | 显示全部楼层
eric2013 发表于 2023-8-26 10:47
1  悬空的引脚适合配置模拟输入,有外部器件的,要合理设置高低电平,降低消耗。
2  进入休眠,待机和停机 ...
有外部器件的,要合理设置高低电平,降低消耗

这边的合理设置高低电平是指根据外部电路的状态进行考虑?比如关闭外部控制的灯、三极管之类的?那像一些SPI、IIC的总线要如何设置?
停机模式唤醒后需要重新配置时钟

即STOP模式?像有些芯片有一个Deep_Sleep模式就按休眠模式设定?这个重新配置时钟可以理解成将systemInt函数再调用一次?另外在进入SLEEP\STOP\STANDBY模式前需要将时钟的频率降低吗?
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 15:18 , Processed in 0.167323 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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