如果你象其它单片机一样,开启了AWU,然后来一句halt();
那么此时的电流为200uA左右,到此差不多心灰意冷,STM8S这么差劲儿!
仔细阅读《STM8S系列MCU功耗管理》,它的电源分为MVR和LPVR,也搞不懂ST的科学家们为什么单片机在halt()时直接变为LPVR供电算了,非要手动设一下,通过设置内部时钟寄存器CLK_ICKR 的REGAH位可实现此功能
CLK_SlowActiveHaltWakeUpCmd(ENABLE);
经过这么一整,电流有改进,在69uA,和官方的PDF的68uA很接近,但仍不能满足电池供电需求,官方PDF活跃停机电流为11uA@5V 9uA@3.3V,再仔细读,原来必须要关闭FLASH,只是关闭了FLASH启动要慢几个us,这个无所谓了,只要不是秒级的,对我的应用无所谓,所以这儿还必须在halt()前先启用活跃停机时关闭flash选项,FLASH_CR1 的AHALT位置1
这里要特别注意,在《STM8S参考手册》中文参考手册中,描述如下
AHALT:活跃停机(Active halt)模式下掉电
0:当MCU在活跃停机模式时FLASH处于掉电模式
1:当MCU在活跃停机模式时FLASH处于运行模式
所以这儿要是信了中文PDF,可能你将会和我一样,要多折腾30分钟,如果你执行 电流就变成了11uA
void Flash_OFF_act_halt(void){
FLASH->CR1 |= 0x04;
}
关键字:STM8S 活跃停机电流 11uA
引用地址:
终于搞定STM8S的活跃停机电流11uA
推荐阅读最新更新时间:2024-03-16 15:01
STM8S IAR LOG功能
IAR调试的ST-LINK在线调试的时候,可以通过以下图1及图2的方式设置调试的log文件。 图1 图2 设置软件ok之后,直接重新调试软件,即可。 以下图,为程序中在应用中申请的局部数组过大导致,堆栈溢出的错误。 这个错误,找了一天,用log一看即明了。
[单片机]
STM8S 与 STM32F IO口输出速率测试
今天查看STM32资料时,对输出速度2M 10M 50M不是很了解,再加上移植ARF2496K程序到STM32时出现意外情况。 一、STM8S端作为接收端和发送端时接收到的数据都正常。 二、发送端(STM8S),接收端(STM32)这时也正常。 三、发送端(STM32),接收端(STM8)时,接收到的就是错误数据,数据每次都相同,但是是错的。 于是,便考虑是不是STM32 I/O输出速度太快导致的,今天便拿示波器测试,果然,豁然开朗。 网上很多全他妈瞎说,STM32的I/O输出配置成2MHz 10MHz 50MHz根本就不是所谓的输出速度,仅仅是翻转速度。 测试示波器为 RIGOL DS1062CA,探头为10X,通道二进
[单片机]
STM8S内部时钟切换问题解决
/* ********************************************************************************************************************************** * Name : STM8S内部时钟切换问题解决 * Author : MingMing * Release : 2013/12/28 * Update : 2013/12/29 * E-mail : clint.wang@foxmail.com ************************************************************
[单片机]
STM8S BEEP
C语言: Codee#12366 /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 实验平台 : ST 官方三合一套件 + 硬件 : STM8S105S6T6C + 开发平台 : IAR For STM8 1.10 + 仿真器 : ST-Link + 日期 : 2010-7-30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #include stm8s.h /************
[单片机]
IAR STM8S及STM32整合
今天在移动硬盘的系统上安装IAR的两个版本,惊奇地发现两个版本的路径竟然指向同一个路径,连注册工具都是同一个。 有图有真相, 上图: 由于注册工具整合到一起了,所以每次打开注册信息都包含有两个版本的注册内容。注册时,只要选择对应的版本的注册项就好了。 上图,我注册成功的例子
[单片机]
STM8S配置位 OptionByte
1.什么是STM8S 的配置字 OptionByte 2.Option Byt Byte 里面的位都表示什么 3.如何编程Option Byte 一 选项字节(OptionByte ) STM8S 的配置字类似于AVR 的Fuse 熔丝位。 用于配置端口的复用功能和读保护等操作。 不同于AVR 的熔丝位,STM8S 的时钟配置并不在Option Byte 中,不会出现写完STM8S 后芯片直接锁死的尴尬。 选项字节用于配置硬件特性和存储器保护状态,这些字节位于同一页的特定存储器阵列中。 选项字节可以在ICP/SWIM模式中或IAP模式中修改, 也就是可以通过STlink 写配置字,或者是通过程序写选项字。
[单片机]
STM8S AD转换
//不说那么多了,直接上程序 void ADC1_DeInit(void) { ADC1- CSR = ADC1_CSR_RESET_VALUE; ADC1- CR1 = ADC1_CR1_RESET_VALUE; ADC1- CR2 = ADC1_CR2_RESET_VALUE; ADC1- CR3 = ADC1_CR3_RESET_VALUE; ADC1- TDRH = ADC1_TDRH_RESET_VALUE; ADC1- TDRL = ADC1_TDRL_RESET_VALUE; ADC1- HTRH = ADC1_HTRH_RESET_VALUE; ADC1- HTRL = ADC1_
[单片机]
STM8S BUG的一点总结
意法半导体的STM8S 系列单片机价格很便宜,外围资源很丰富,开始就果断选择了这款单片机(STM8S103F3P)没使用不知道,使用后心里各种不爽。主要就是它的I2C热的祸。不知道是不是专利原因,意法的I2C做的很复杂,很别扭。官网上公布的Erratasheet就不搬过来了。针对I2C总线总是被锁死的情况,我目前采取的办法是(功能是主机向从机发送一个字节的数据): 主机:(STM32F103) 1.开启事件中断,关闭缓存中断。 2.通过BTF被置位引起的中断来写下一字节的数据。 中断响应函数中仅仅判断三个点: 1.Start发送完后的SB置位,按手册说的写地址到DR寄存器后清除该事件; 2.地址发送完后的ADDR位,按手
[单片机]