打印
[STM8]

STM8低功耗如何操作

[复制链接]
1993|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我用的型号有stm8s103f,还有stm8l151k,在处理低功耗的时候,有两种模式比较可行,一个是等待模式,一个是停机模式。
等待模式用asm("wfi"),用内部定时器都可以唤醒,但是我使用过程中降下来功耗不够多,都还有1ma,不知道是不是因为一些资源没有关闭??使用的时候有初始化几个IO口,设置为输出状态的,请问要怎样才能在wfi状态下,使io口的功耗降下来呢?                         另外还使用了3个ADC,是不是也要关闭ADC时钟,然后初始画IO口呢??


停机模式下,就是系统死了一般,非要外部中断才能触发,不知道有没有其它方法?串口中断不知道可不可以触发?进入停机模式是直接asm("halt")就可以了吧?这样还需要关闭使用的单片机资源吗???




纯属新手,还望能够帮忙详细解答,谢谢谢谢
沙发
qq583678156|  楼主 | 2016-11-3 08:27 | 只看该作者
给自己顶一下贴,还没人帮忙解答的,别沉了

使用特权

评论回复
板凳
laoxianccc| | 2016-11-3 21:50 | 只看该作者
待机模式没试过。
停机模式用了很久了。
一般是要把所有悬空的IO口设置一个固定状态,否则会出现悬空引起大功耗的。其他用到的引脚要根据硬件设计相结合配置。
halt模式下,外部中断可以唤醒的,RTC定时器也可以唤醒的。还有就是串口中断不能直接唤醒,需要在进入halt之前先把串口的接收引脚的外部中断开起来,外部中断唤醒之后再把外部中断关闭。
还有就是要注意单片机的系统晶振的大小选择,在非快速唤醒模式下一般唤醒会有3ms的时间用于等到内部参考电压稳定才会再跑代码,这个时候串口如果是9600的换会丢失或出错3-5个字节。所以可以使用快速唤醒,快速唤醒只需要3us就可以唤醒,不过这个时候要注意系统晶振是默认成2MHz的。所以使用快速唤醒时前提是你的系统要配置为2MHz的时钟晶振。否则会出错的。如果不使用快速唤醒的换那么串口这需要在前面添加一些字段用于唤醒,最好是在前面增加几个0x00,这样最安全。
以上都是长时间使用该模式的经验之谈,有不足之处请指出。

使用特权

评论回复
地板
laoxianccc| | 2016-11-3 21:52 | 只看该作者
halt模式下除去你硬件电路上的其他功耗,纯粹的单片机功耗在3-5个ua,这个是可以做到的

使用特权

评论回复
5
qq583678156|  楼主 | 2016-11-4 08:12 | 只看该作者
wfi模式呢??请问wif模式要不要设置IO口能够降低电流?其它资源是不是关闭相应的时钟就可以了呢????

使用特权

评论回复
6
qq583678156|  楼主 | 2016-11-4 08:13 | 只看该作者
laoxianccc 发表于 2016-11-3 21:52
halt模式下除去你硬件电路上的其他功耗,纯粹的单片机功耗在3-5个ua,这个是可以做到的
...

wfi模式呢??请问wif模式要不要设置IO口能够降低电流?其它资源是不是关闭相应的时钟就可以了呢????

使用特权

评论回复
7
laoxianccc| | 2016-11-4 18:31 | 只看该作者
没用过,不过应该也需要这么做,还有就是halt模式时要在选字节选项里面设置停止独立看门狗,否则电流会达到200ua

使用特权

评论回复
8
加拿大| | 2016-11-4 18:38 | 只看该作者
除了单片机方面功耗降低,更重要是外围电路的功耗降低,这样才能实现真正的低功耗。

002.png (387.13 KB )

002.png

使用特权

评论回复
9
qq583678156|  楼主 | 2016-11-7 08:19 | 只看该作者
加拿大 发表于 2016-11-4 18:38
除了单片机方面功耗降低,更重要是外围电路的功耗降低,这样才能实现真正的低功耗。
...

很有用
IO口拉低,那IO输入输出有没有差别呢?
另外像7楼说的,是不是要停止独立看门狗呢?而且关键是我一开始就没有使用看门狗

使用特权

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

本版积分规则

12

主题

54

帖子

0

粉丝