STM8L_11_HALT
1.User:工程及main文件
2.Hardware:EXIT,CLK,LED,Delay
3.STM8L15x_StdPeriph_Driver:STM8自带库文件
4.Debug:hex文件存放于EXE文件夹
5.Function: halt低功耗测试
低功耗设计时,如要功耗最低,采用halt模式,所有外设都关闭,只有中断可以触发,最低值0.42uA,与手册基本一致。
/**
******************************************************************************
* @file main.c
* @author Alex——小白
* @version V1.0
* @date 2019.5.1
* @brief HALT模式,外部中断唤醒
* @store 有家Proteus仿真店子
* @Link https://shop484534014.taobao.com/
* @Email 844545015@qq.com
******************************************************************************
* @attention All Rights Reserved
**/
#include "stm8l15x.h"
#include "stm8l15x_pwr.h"
#include "stm8l15x_gpio.h"
#include "stm8l15x_clk.h"
#include "LED.h"
#include "Delay.h"
#include "CLK.h"
#include "EXIT.h"
static void Halt_Init(void)
{
PWR_UltraLowPowerCmd(ENABLE); //开启超低功耗
CLK_HaltConfig(CLK_Halt_FastWakeup,ENABLE); //快速唤醒后时钟为HSI
/* IO配置为推挽输出低电平,电流0.39uA;推挽输出高电平,电流是1.26uA;
输入上拉,电流0.39uA……其它模式自测。
为什么PC0和PC1需要开漏输出低电平呢,因为它的引脚是真开漏,具体见手册说明
此处测试只是STM8L151C8单片机,其它可能略有不同,如笔者使用STM8L052C6时,
发现推挽高电平输出电流和输入上拉的电流最低为0.39uA。
*/
}
void main(void)
{
CLK_HSI_Config(CLK_SYSCLKDiv_8); //HSI 8分频 2MHz
Halt_Init();
LED_Init();
EXIT_Init();
//外部中断唤醒,当不唤醒时,电流是0.39uA;加唤醒时,电流是0.41uA
enableInterrupts();
while(1)
{
halt();
}
}
如需下载STM8L151C8 IAR源码工程,请关注公众号:
Proteus仿真店子
(若IAR IDE编译器以及驱动,后台回复:IAR;若STM8L相关参考文档,后台回复:STM8L手册;若需其它设计,后台回复:STM8L设计)
版权声明:本文为Smile_shao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。