打印
[STM32F1]

都有哪些方法降低软件功耗啊?

[复制链接]
2540|52
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happy_10|  楼主 | 2021-9-8 23:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
都有哪些方法降低软件功耗啊?

使用特权

评论回复
沙发
stly| | 2021-9-8 23:53 | 只看该作者
软件功耗?

使用特权

评论回复
板凳
dingy| | 2021-9-8 23:56 | 只看该作者
用查表的方法代替实时的计算,尽量减少CPU的运算量。特别是在没有硬件浮点处理单元的MCU进行浮点处理时,直接用MCU进行浮点处理将会消耗大量的时间。

使用特权

评论回复
地板
heweibig| | 2021-9-8 23:58 | 只看该作者
将一些运算的结果预先算好,放在Flash中,用查表的方法替代实时的计算,减少CPU的运算工作量,可以有效地降低CPU的功耗。

使用特权

评论回复
5
Bobby13| | 2021-9-9 08:08 | 只看该作者
关外设 降低主频 进低功耗模式

使用特权

评论回复
6
songqian17| | 2021-9-9 22:06 | 只看该作者
很多微处理器都有快速有效的查表指令和寻址方式,用于优化查表算法,这种处理方法在离散余弦变换和AD数据采集中能够了带来可观的效率提升。

使用特权

评论回复
7
llljh| | 2021-9-9 22:14 | 只看该作者

对于不可避免的实时计算,应注意计算的精度,算到精度够了就应立即结束,避免“过度”的计算。

使用特权

评论回复
8
stly| | 2021-9-9 22:16 | 只看该作者
在精度允许的情况下,使用简单函数代替复杂函作近似运算,也是减少功耗的有效方法。。

使用特权

评论回复
9
supernan| | 2021-9-9 22:18 | 只看该作者
尽量使用字符型的8位数据代替16位的整型数据。

使用特权

评论回复
10
stly| | 2021-9-9 22:21 | 只看该作者
尽量使用分数运算而避免浮点运算

使用特权

评论回复
11
juventus9554| | 2021-9-9 22:23 | 只看该作者
可以用移位运算代替乘除运算。

使用特权

评论回复
12
pengf| | 2021-9-9 22:45 | 只看该作者
采用MCU计算乘除也是非常耗时的,如果采用左移和右移的办法来实现乘除法运算,将会减少运算时间,注意,除法的移位计算只能针对除数比较特殊的情况。

使用特权

评论回复
13
ousj| | 2021-9-9 22:47 | 只看该作者
数字信号处理中的运算,采用FFT和快速卷积等,可以节省大量运算时间。

使用特权

评论回复
14
wuhany| | 2021-9-9 22:49 | 只看该作者
一个程序使用中断方式还是查询方式,对于很多应用来说并不是那么重要,但在软件低功耗设计特性上却相差甚远。

使用特权

评论回复
15
ousj| | 2021-9-9 22:53 | 只看该作者
采用定时器,在程序中可以采用软件延时,但是,如果系统的定时器资源充裕,在需要定时的场合,最好采用硬件定时器,当定时器到定时后,向MCU发出中断请求信号。

使用特权

评论回复
16
huangchui| | 2021-9-9 22:53 | 只看该作者
你是说执行的次数吗?使用汇编语言还可以的。

使用特权

评论回复
17
wyjie| | 2021-9-9 22:55 | 只看该作者

将运算的结果预先算好,放在Flash中,尽量减少CPU的运算工作量

使用特权

评论回复
18
chuxh| | 2021-9-9 23:00 | 只看该作者
软件功耗,软件有什么功耗呢?

使用特权

评论回复
19
pengf| | 2021-9-9 23:02 | 只看该作者
尽量降低器件的工作频率。。。。

使用特权

评论回复
20
huangchui| | 2021-9-9 23:04 | 只看该作者
从MCU选型开始

使用特权

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

本版积分规则

744

主题

7973

帖子

6

粉丝