[STM8] STM8l低功耗运行模式

[复制链接]
636|26
手机看帖
扫描二维码
随时随地手机跟帖
zhanghqi|  楼主 | 2021-10-17 22:10 | 显示全部楼层 |阅读模式
根据手册低功耗运行模式只有一句话不知道怎么设置。

使用特权

评论回复
zhanghqi|  楼主 | 2021-10-17 22:14 | 显示全部楼层
42598616c2fb94fd8f.png

使用特权

评论回复
supernan| | 2021-10-17 22:19 | 显示全部楼层
建议读RM0031,GPIO不要悬空,将时钟关闭

使用特权

评论回复
supernan| | 2021-10-17 22:21 | 显示全部楼层
如果是Halt

使用特权

评论回复
jlyuan| | 2021-10-17 22:23 | 显示全部楼层
正常的话跟手册上相差不大。

使用特权

评论回复
zhanghqi|  楼主 | 2021-10-17 22:26 | 显示全部楼层
PWR_UltraLowPowerCmd (ENABLE);GPIO_LowPower_Config();
PWR_FastWakeUpCmd(DISABLE);
CLK_LSICmd(ENABLE);                      //使能内部低速时钟
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);//切换为内部低速时钟

  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);    //1分频(不分频)   
  CLK_SYSCLKSourceSwitchCmd (ENABLE);//使能切换
  while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI){}
  CLK_HSICmd(DISABLE);


这些都加了

使用特权

评论回复
zhanghqi|  楼主 | 2021-10-17 22:28 | 显示全部楼层
我不要睡眠,要低功耗运行

使用特权

评论回复
juventus9554| | 2021-10-17 22:31 | 显示全部楼层
在ST搜索下面,就有例程了

STSW-STM8009
Introduction to STM8L15x power saving modes using the STM8L-DISCOVERY IDD measurement feature (AN3269)

使用特权

评论回复
xxrs| | 2021-10-17 22:34 | 显示全部楼层
可以用定期唤醒方式

使用特权

评论回复
zhanghqi|  楼主 | 2021-10-17 22:37 | 显示全部楼层
之前就下载了已经按他的设置了,还是80uA

使用特权

评论回复
xxrs| | 2021-10-17 22:39 | 显示全部楼层
可能是哪一块设置没有弄对啊。

使用特权

评论回复
jiahy| | 2021-10-17 22:41 | 显示全部楼层
还有你的低功耗运行是有个基础值的。

使用特权

评论回复
zhaoxqi| | 2021-10-17 22:46 | 显示全部楼层
检查一下外设,哪个部分还在消耗电流

使用特权

评论回复
zhanghqi|  楼主 | 2021-10-17 22:48 | 显示全部楼层
low power run mode
这种模式程序在RAM中执行,EEPROM和FLASH是在IDDQ(低功耗模式),时钟切换到低速时钟。
进入此模式的步骤如下:
进入RAM
切换系统时钟到LSE或LSI
关闭高速时钟、外设和ADC
屏蔽中断
通过设置FLASH_CR1的EEPM位来关闭FLASH和EEPROM
等待FLASH和EEPROM关闭
通过设置CLK_REGCSR的REGOFF位进入校准低功耗模式
退出low power run mode的步骤如下:
通过重置CLK_REGCSR的REGOFF位进入主校准模式,延时等待主校准稳定。
通过设置FLASH_CR1的EEPM位来打开FLASH和EEPROM,延时等待FLASH和EEPROM打开。
屏蔽所有中断。

使用特权

评论回复
zhanghqi|  楼主 | 2021-10-17 22:50 | 显示全部楼层
现在进入了低功耗模式  3uA  但是退不出来

CLK_MainRegulatorCmd (DISABLE);  //电源切换到低功耗模式
  Delay(0x00ff);
//  while(RESET==CLK_GetFlagStatus (CLK_FLAG_REGREADY));
//  到这就不运行了。
//  Delay(0xffff);
  CLK_MainRegulatorCmd (ENABLE);  //退出低功耗
  Delay(0x00ff);
//  PWR_UltraLowPowerCmd (DISABLE);
  FLASH_PowerRunModeConfig(FLASH_Power_On);  
  CLK_HSICmd(ENABLE);                      //使能内部高速时钟
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);//切换为内部高速时钟
  
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);    //1分频(不分频)
  CLK_SYSCLKSourceSwitchCmd (ENABLE);//使能切换

使用特权

评论回复
wangzsa| | 2021-10-17 22:52 | 显示全部楼层
楼主现在弄好了吗?我最近也在弄这个模式,只是需要adc的运行,如果adc用来采集光照强度。

使用特权

评论回复
songqian17| | 2021-10-17 22:55 | 显示全部楼层
如果光突然变大,就中断。

使用特权

评论回复
huangchui| | 2021-10-17 22:57 | 显示全部楼层
请问进入低功耗模式可以用adc吗?

使用特权

评论回复
zhanghqi|  楼主 | 2021-10-17 22:59 | 显示全部楼层
还有你的低功耗运行怎么进入的
就一句话吗?
CLK_MainRegulatorCmd(DISABLE);
Delay(0x00ff);

使用特权

评论回复
chuxh| | 2021-10-17 23:03 | 显示全部楼层
请问如何进入RAM?

使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则