STM8L051低功耗模式实现说明文档

合集下载

STM8L101 STM8L151低功耗问题

STM8L101 STM8L151低功耗问题

STM8L101 STM8L151 低功耗问题手上有两个项目,在用户没进行操作时,系统均要进入低功耗模式。

两个项目分别用STM8L101及STM8L151。

两个项目的系统运行时钟均为8MHz(内部高速时钟),均用锂电池供电。

对于STM8L151,芯片手册上说,进入活跃停机状态时,单片机功耗为0.8uA,我在程序中找开了自动唤醒功能,30s唤醒一次;在用户无操作时间达到30S时,就通过Halt()进入低功耗模式。

但发现功耗不低,有125uA左右。

因为系统用的是电池供电的,这么高的功耗,一个电池供不了几天,后来查了一下技术手册,原来不用的管脚要设置一下,我全都设置为推挽输出低,但有两个管脚必须得注意的,与外部晶振相连接的两个管脚,如果不使用外部晶振,即要设置为输入方式。

下载程序,用福录克表的微安档进行测量,为1.8uA,很接近芯片手册上给出的值了。

把电池拔掉,一个106的电容也能给系统供十几秒的电。

这个项目就完善的结束了。

现在来说说另一个项目,芯片用的是STM8L101,20个脚的封装,没有外部晶振的连接管脚,故不用管这两个脚的配置。

本来想用停机模式进入低功耗的,但出现有时无法唤醒的情况。

所以改用活跃停机功能,但进入活跃停机状态时,功耗不是一般的高啊,有时达到一百二三十个uA,有时为七十多uA,有时又能达到三十多uA。

但停留在七十多uA的居多。

没有的管脚已经设置了,不知哪里出了问题。

经过不停的查看原理图及调试,最终还是发现了问题。

项目里有用STM8的管脚作为触摸环的管脚,当过入活跃停机模式时,触摸管脚处于不定状态。

可能是这个问题导致低功耗时电流过高的,在程序时添加了两行代码,第一行,在进入低功耗前,把触摸环的管脚初始化为推挽输出低,第二行,在唤醒后,。

STM8低功耗设定及其例程

STM8低功耗设定及其例程

STM8低功耗设定及其例程STM8有三种低功耗模式,即等待、活跃停机和停机。

具体它们三者有什么区别自己看官方手册去吧,这里只讲停机模式的应用,其他的一笔带过!一、进入的方式:等待模式进入用的指令是WFI,而活跃停机和停机用的都是halt(),所不同的是,在执行halt指令之前,如果开启了AWU,则是活跃停机,反之则是停机。

还有一点要说明的是,在停机模式下独立看门狗是不能养的,而只能养窗口看门狗。

二、具体进入的步骤:1、首先,你声明一个标志位,名字自己取。

这个标志位是用来判断系统是该处于运行模式还是处于停机模式的。

我这里用fPowerOn_flag,如下:bool fPowerOn_flag = FALSE;有了这个标志位以后就写下面的部分了:int main(void){//设置内部16M晶振为系统时钟Clk_Init(); //系统时钟初始化函数MWWDG_Init();//窗口看门狗初始化函数while (1){Free_WWDG();//喂狗函数if(fPowerOn_flag == FALSE){Halt_OffDevice();//停机前关闭不需要的外设halt();//进入停机模式System_Init();//系统初始化函数}if(fPowerOn_flag){//运行代码在这里添加}}}以上就是一个停机模式的模板了,大家参照着用就可以了。

系统上电默认是进入停机模式,然后通过按键唤醒进入运行模式。

下面为大家讲一下主函数中每个函数的写法和功能吧!2、各函数说明:a、时钟初始化函数:void Clk_Init(void){CLK_DeInit();//复位时钟寄存器CLK_HSICmd(ENABLE);//使能内部高速时钟CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4);//配置内部高速时钟(时钟分频器:4分频),系统时钟4MHzCLK_ClockSecuritySystemEnable();//开启时钟安全系统}这个函数我想不用多讲了,大家都懂的。

STM8 低功耗模式 STM8应用笔记

STM8 低功耗模式 STM8应用笔记

STM8 低功耗模式STM8应用笔记四种STM8低功耗模式的主要特性如表12。

(表12:STM8S低功耗模式管理)1.如果外设时钟未被关闭2.包括通讯外设的中断(参见中断向量表)STM8等待(Wait)模式在运行模式下执行WFI(等待中断)指令,可进入等待模式。

此时CPU停止运行,但外设与中断控制器仍保持运行,因此功耗会有所降低。

等待模式可与PCG(外设时钟门控),降低CPU时钟频率,以及选择低功耗时钟源(LSI,HSI)相结合使用,以进一步降低系统功耗。

参见时钟控制(CLK)的说明。

在等待模式下,所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。

当一个内部或外部中断请求产生时,CPU从等待模式唤醒并恢复工作。

STM8停机(Halt)模式在该模式下主时钟停止。

即由fMASTER提供时钟的CPU及所有外设均被关闭。

因此,所有外设均没有时钟,MCU的数字部分不消耗能量。

在停机模式下,所有寄存器与RAM的内容保持不变,默认情况下时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。

MCU可通过执行HALT指令进入停机模式。

外部中断可将MCU从停机模式唤醒。

外部中断指配置为中断输入的GPIO 端口或具有触发外设中断能力的端口。

在这种模式下,为了节省功耗主电压调节器关闭。

仅低电压调节器(及掉电复位)处于工作状态。

快速时钟启动HSI RC的启动速度比HSE快(参见数据手册中电特性参数)。

因此,为了减少MCU的唤醒时间,建议在进入暂停模式前选择HSI做为fMASTER的时钟源。

在进入停机模式前可通过设置内部时钟寄存器CLK_ICKR的FHWU位选择HSI做为fMASTER的时钟源,而无需时钟切换。

参见时钟控制章节。

STM8活跃停机(Active Halt)模式活跃停机模式与停机模式类似,但它不需要外部中断唤醒。

它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。

STM8L探索套件学习笔记-低功耗模式(十二)

STM8L探索套件学习笔记-低功耗模式(十二)

STM8L探索套件学习笔记-低功耗模式(十二)官方给的例程当中,使用PE6 作为IDD_WAKUP,将系统从低功耗中唤醒,STM8L 有5 种低功耗模式,降低功耗的方法还可以将系统时钟降低或者关闭没有使用的外设。

今天我们就使用U3 这个14 阶脉动进位计数器M74HC4060 进行HALT 模式唤醒,从原理图可以看到Q14 脚输出的反向连接到T2 模拟开关,控制PE6 端口。

因为经过两个反向器,使用Q14 的逻辑等于PE6 的逻辑。

U3的时钟频率为30KHZ,Q14 的脉冲周期为2 的14 次方除以30KHZ,约等于0.5s,也就是说Q14 输出的脉冲是周期大约为1 秒,占空比为1:1 的方波。

所以PE6 的电平变化也是周期大约为1 秒,占空比为1:1 的方波。

代码设计如下:void main(void) {GPIO_Init(LED3_PORT,LED3_PIN,GPIO_Mode_Out_PP_High_Fast);//输出低电平-高速10MGPIO_Init(LED4_PORT,LED4_PIN,GPIO_Mode_Out_PP_High_Fast); //输出低电平-高速10MGPIO_Init(CNT_EN_PORT,CNT_EN_PIN,GPIO_Mode_Out_PP_High_Fast); GPIO_Init(WAKEUP_PORT,WAKEUP_PIN,GPIO_Mode_In_FL_IT);//PE6LCD_ GLASS_Init();LCD_GLASS_DisplayString(“M74HC”);/*Enable Rising edge port PE6 for wake up conter *///EXTI->CR2 = 0x10;//上升沿或者下载沿都可以EXTI_SetPinSensitivity(EXTI_Pin_6, EXTI_Trigger_Rising);/* Enable Interrupts */enableInterrupts();GPIO_ResetBits(GPIOC,GPIO_Pin_4);//使能U3 计数器/* Infinite loop */while (1){GPIO_ToggleBits(LED3_PORT,LED3_PIN);halt();//进入HALT 模式,外部中断能够唤醒}}程序开始初始化板上的LED3/LED4,LCD显示测试M74HC 计数器的功能。

STM8L系列单片机在无线产品中的应用

STM8L系列单片机在无线产品中的应用

STM8L系列单片机在无线产品中的应用一、STM8L系列单片机简介ST意法半导体的超低功耗产品线支持多种对功耗极为敏感的应用,例如便携式设备。

STM8L基于8位STM8内核,与STM32L系列一样采用了专有超低漏电流工艺,利用最低功耗模式实现了超低功耗(0.30uA)。

1.STM8L四个系列产品简介STM8L系列包括4个不同的产品线,适于需要特别注意节约功耗的应用。

STM8L101系列:最低功耗模式:0.30uA,动态运行模式:150uA/MHzSTM8L151/152系列:最低功耗模式:0.35uA,动态运行模式:180uA/MHzSTM8L162系列:最低功耗模式:0.35uA,动态运行模式:180uA/MHzSTM8L051/052系列:最低功耗模式:0.35uA,动态运行模式:180uA/MHz2.STM8L系列特性说明STM8L系列的单片机功能特性在8位单片机中还是显得比较突出的,其特性如下:●采用高性能STM8 8位内核:在16Mhz运行频率下,高达16MIPS● 26个引脚和软件兼容的型号,3个产品线●内置4KB 到32KB Flash,多达2KB SRAM●在运行模式下,功耗低至150 μA/MHz●提供四种低功耗模式,在SRAM数据保留的低功耗模式下,功耗仅为350 nA●配置丰富的数字和模拟外设●提供免费的触摸感应程序库二、STM8L系列单片机在无线产品中应用优势应科技智能化的发展,以及产品功耗的考虑,要求更多产品能具有低功耗的能力。

在产品的研发需求中,更多的产品寄托以电池供电的超低功耗的要求;同时,很多产品的设计都是需要单片机有足够的资源空间以及外设,还要考虑成本等问题。

这样以来,STM8L的优势就得到了体现。

一方面STM8L具有超低功耗的特点,另一方面,STM8L单片机外设丰富,成本也具有优势,对研发设计者来说,更加愿意选择STM8L单片机来做产品开发。

而对于无线产品的开发,比起其他普通产品来说,对功耗等要求更加苛刻。

STM8L系列超低功耗8位微控制器 说明书

STM8L系列超低功耗8位微控制器 说明书

STM8L1xx 典型应用和结构框图
医疗器械 血糖仪 胰岛素泵 糖尿病监护 血压计 胆固醇计 病人监控 心脏监护 仪表 电表/气表/水表/热表 称重 报警系统 中央处理单元 有线/无线传感器 门禁 通用移动设备 手机及配件 3D鼠标及遥控器 游戏机和玩具 GPS手表 体育设施
内部的16MHz RC振荡器 1~16MHz晶体 振荡器 内部的38kHz RC振荡器 32.768kHz晶体 振荡器 运行于16MHz的 STM8核心 嵌套的中断控制器 32个中断向量 多达40个外部中断 SWIM 调试模块 多达41个I/O端口 12位ADC 25个通道
STM8L系列
超低功耗8位微控制器
微控制 超节能
2009年9月
/mcu
STM8L超低功耗MCU系列
意法半导体公司开发出了基于8位STM8内核的超低功耗微控制器.借助一个优秀的面向未来的超低功耗平台,采 用了全新的超低漏电工艺和优化的体系结构,STM8L系列微控制器集合了高性能与超低功耗于一身.STM8L系列 现有三个子系列,可以满足对低功耗有特殊要求的多种应用.
STM8L一览
现在已有26个兼容的产品
Flash容量 (字节) STM8L152C8
64 K 32 K 16 K 8K
STM8L152R8 STM8L152M8 STM8L151R8 STM8L151M8
STM8L151C8 STM8L152K6 STM8L151G6 STM8L151K6 STM8L152K4 STM8L151G4 STM8L151K4 STM8L151F3 STM8L101F3 STM8L151G3 STM8L151K3 STM8L101G3 STM8L101K3 STM8L151G2 STM8L101G2 28引脚 QFN (4x4) 32引脚 LQFP (7x7)/ QFN (5x5) 48引脚 LQFP (7x7)/ QFN (7x7) STM8L152C6 STM8L151C6 STM8L152C4 STM8L151C4

STM8L中文参考手册_2

STM8L中文参考手册_2

手动开关手动开关没有自动切换为直接的但它提供给用户的切换事件时间的精确控制。

参照图20中的流程图。

1。

写使用系统时钟开关选择目标时钟源的8位值寄存器(clk_swr)。

然后swbsy位是由硬件,和目标源振荡器开始。

古老的时钟源继续驱动CPU和外设。

2。

该软件具有等到目标时钟源准备(稳定的)。

这是在clk_swcr寄存器和快捷旗由中断如果swien位设置显示。

3。

最终软件的作用是设置,在所选择的时间,在clk_swcr的赛文点寄存器来执行开关。

在手动和自动切换模式,旧的系统时钟源不会自动关闭的情况下是由其他模块(LSI混凝土可用于例如独立的看门狗驱动)。

时钟源可以关机使用在内部时钟寄存器的位(clk_ickcr)和外部时钟寄存器(clk_eckcr)。

如果时钟开关不因任何原因的工作,软件可以通过清除swbsy标志复位电流开关操作。

这将恢复clk_swr注册到其以前的内容(旧的系统时钟)。

注意:在清理swbsy标志具有复位时钟主开关的程序,应用程序必须等到后产生新的主时钟切换请求之前有一段至少两个时钟周期。

9.7周门控时钟(PCG)外周时钟门控(PCG)模式选择性地启用或禁用系统时钟(SYSCLK)连接到外围设备在运行或慢速模式的任何时间来优化功耗。

设备复位后,所有的外设时钟被禁用。

唯一的一点是在复位状态是默认启用pcken27因为它用于启动。

软件已被正确地写入关掉ROM Bootloader执行后的时钟。

您可以启用时钟的任何外围设置在clk_pckenrx周围门控时钟寄存器的相应pcken点。

●使周围,首先使在clk_pckenr相应的pcken点寄存器然后设置使点周围的外围控制寄存器。

●禁用适当的外围,先禁用在周边的适当位控制寄存器,然后停止相应的时钟。

注:蜂鸣器,RTC和液晶显示器是由不同的SYSCLK特定的时钟,使他们继续运行,即使时钟门控的外设寄存器是断言。

9.8时钟安全系统(CSS)9.8.1时钟安全系统对HSE时钟安全系统(CSS)监控HSE晶体时钟源故障时安全作为系统时钟。

STM8L中文参考手册-1

STM8L中文参考手册-1

本参考手册的目标应用程序开发人员。

它提供了完整的信息如何使用stm8l05xx,stm8l15xx 和stm8l16xx微控制器的存储器和外围设备。

该stm8l05xx / stm8l15xx / stm8l16xx是一个家庭的不同存储密度的微控制器和外围设备。

这些产品是专为超低功耗应用。

可用的外设的完整列表,请参阅产品数据表。

订购信息,引脚说明,机械和电气设备的特点,请参阅产品数据表。

关于STM8 SWIM通信协议信息和调试模块,请参阅用户手册(um0470)。

在STM8的核心信息,请参阅STM8的CPU编程手册(pm0044)。

关于编程,擦除和保护的内部快闪记忆体,请参阅STM8L闪存编程手册(pm0054)。

1 中央处理单元(CPU)。

30。

1.1 引言301.2 CPU的寄存器。

30。

1.2.1 描述CPU寄存器。

..。

301.2.2 STM8 CPU寄存器图。

..。

341.3 全球配置寄存器(cfg_gcr)。

34。

1.3.1 激活水平。

..。

341.3.2 游泳禁用。

..。

351.3.3 描述全局配置寄存器(cfg_gcr)。

..。

35 1.3.4 全局配置寄存器图及复位值。

..。

352 启动ROM . . . 363程序存储器和数据存储器。

37。

3.1引言373.2术语。

37。

3.3个主要的快闪存储器的特点。

38。

3.4记忆的组织。

39。

3.4.1低密度设备的存储器组织。

393.4.2介质密度的装置记忆的组织。

..。

403.4.3介质+密度装置记忆的组织。

..。

413.4.4高密度存储器组织。

..。

423.4.5专有代码区(译)。

433.4.6用户区(UBC)。

433.4.7数据的EEPROM(数据)。

..。

463.4.8主程序区。

463.4.9选项字节。

..。

463.5内存保护。

47。

3.5.1读出保护。

473.5.2内存访问安全系统(质量)。

473.5.3使写访问选项字节。

493.6内存编程493.6.1同时读写(读写网)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

STM8L051低功耗模式测试文档STM8L051的五种低功耗模式wait ,low power run mode,low power wait mode,Ative-Halt mode,Halt mode。

1、WAIT mode在等待模式,CPU的时钟是停止的,被选择的外设继续运行。

W AIT mode 分为两种方式:WFE,WFI。

WFE是等待事件发生,才从等待模式中唤醒。

WFI是等待中断发生,才从等待模式中唤醒。

2、low power run mode在低功耗运行模式下,CPU和被选择的外设在工作,程序执行在LSI或者LSE下,从RAM 中执行程序,Flash和EEPROM都要停止运行。

电压被配置成Ultra Low Power模式。

进入此模式可以通过软件配置,退出此模式可以软件配置或者是复位。

3、low power wait mode这种模式进入是在low power run mode下,执行wfe。

在此模式下CPU时钟会被停止,其他的外设运行情况和low power run mode类似。

在此模式下可以被内部或外部事件、中断和复位唤醒。

当被事件唤醒后,系统恢复到low power run mode。

4、Active-Halt mode在此模式下,除了RTC外,CPU和其他外设的时钟被停止。

系统唤醒是通过RTC中断、外部中断或是复位。

5、Halt mode在此模式下,CPU和外设的时钟都被停止。

系统唤醒是通过外部中断或复位。

关闭内部的参考电压可以进一步降低功耗。

通过配置ULP位和FWU位,也可以6us的快速唤醒,不用等待内部的参考电压启动。

一、各个低功耗模式的代码实现1、WAIT mode等待模式分为两种:WFI和WFE。

1.1 WFI mode当执行“wfi”语句时,系统就进入WFI模式,当中断发生时,CPU被从WFI模式唤醒,执行中断服务程序和继续向下执行程序。

通过置位CFG_GCR的AL位,使主程序服务完中断服务程序后,重新返回到WFI 模式。

程序如下:void Mcuwfi(){PWR_UltraLowPowerCmd(ENABLE); //开启电源的低功耗模式CLK_HSEConfig(CLK_HSE_OFF); //关闭HSE时钟(16MHz)#ifdef USE_LSECLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSE);CLK_SYSCLKSourceSwitchCmd(ENABLE);while (((CLK->SWCR)& 0x01)==0x01);CLK_HSICmd(DISABLE);#elseCLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);CLK_SYSCLKSourceSwitchCmd(ENABLE);while (((CLK->SWCR)& 0x01)==0x01);CLK_HSICmd(DISABLE);#endif //切换时钟到LSI(38KHz)wfi(); //进入WFI模式#ifdef Only_Interrupt //设置CFG_GCR的AL位,服务完中断后回到WFI模式CFG->GCR =CFG_GCR_AL;#endif}1.2 WFE当执行“wfe”语句时,系统就进入WFE模式。

WFE有两种唤醒模式,一种是:中断唤醒,一种是:事件唤醒。

当中断唤醒时,当执行到wfe时,进入wfe模式休眠。

系统执行步骤如下:进入WFE模式---> 有中断产生--->系统唤醒--->执行中断服务程序--->继续休眠。

当事件唤醒时,当执行到wfe时,进入wfe模式休眠。

系统执行步骤如下:进入WFE模式---> 有中断产生--->系统唤醒--->执行中断服务程序--->继续往下执行。

2、low power run mode这种模式程序在RAM中执行,EEPROM和FLASH是在IDDQ(低功耗模式),时钟切换到低速时钟。

进入此模式的步骤如下:1、进入RAM2、切换系统时钟到LSE或LSI3、关闭高速时钟、外设和ADC4、屏蔽中断5、通过设置FLASH_CR1的EEPM位来关闭FLASH和EEPROM6、等待FLASH和EEPROM关闭7、通过设置CLK_REGCSR的REGOFF位进入校准低功耗模式退出low power run mode的步骤如下:1、通过重置CLK_REGCSR的REGOFF位进入主校准模式,延时等待主校准稳定。

2、通过设置FLASH_CR1的EEPM位来打开FLASH和EEPROM,延时等待FLASH和EEPROM打开。

3、屏蔽所有中断。

程序如下:void LPR_init(void){/*Switch the clock to LSE and disable HSI*/CLK_HSEConfig(CLK_HSE_OFF);#ifdef USE_LSECLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSE);CLK_SYSCLKSourceSwitchCmd(ENABLE);while (((CLK->SWCR)& 0x01)==0x01);CLK_HSICmd(DISABLE);#elseCLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);CLK_SYSCLKSourceSwitchCmd(ENABLE);while (((CLK->SWCR)& 0x01)==0x01);CLK_HSICmd(DISABLE);#endif//PWR_UltraLowPowerCmd(ENABLE);/*Configure event for WAKEUP and FUNCTION, disable the interrupts*/CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_1);//切换系统时钟// 到LSIsim(); //屏蔽中断LPR_Ram(); // Call in RAM //程序在RAM里执行//if(lowpowerwait_flag==1)// {// lowpowerwait_flag=0;//Switch on the regulator// CLK->REGCSR = 0xb9;// while(((CLK->REGCSR)&0x1) != 0x1);/*Switch the clock to HSI*/CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);CLK_HSICmd(ENABLE);while (((CLK->ICKCR)& 0x02)!=0x02);CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);CLK_SYSCLKSourceSwitchCmd(ENABLE);while (((CLK->SWCR)& 0x01)==0x01);sim(); //退出Low power run mode//}}3、Low power wait mode进入Low power wait mode模式是在MCU进入Low power run mode后执行wfe指令。

从Low power wait mode模式退出只能通过外部中断。

退出Low power wait mode模式后,CPU会返回到Low power run mode。

__ramfunc void LPR_Ram(void)//void LPR_Ram(void)#endif{uint8_t i = 0;/* To reduce consumption to minimalSwith off the Flash */FLASH->CR1 = 0x08;while(((CLK->REGCSR)&0x80)==0x80);/* Swith off the Regulator*/CLK->REGCSR = 0x02;while(((CLK->REGCSR)&0x01)==0x01);if(lowpowerwait_flag==0)while(1);Else //在此处进入Low power wait mode,进入WFE的配置。

{/* Set trigger on GPIOB pin3*/WFE->CR2 = 0x01;/*Wait for end of counter */wfe();EXTI->SR1 |= 0x10;EXTI->SR2 |= 0x01;WFE->CR2 = 0x00; //退出Low power wait mode,进入Low power run mode}}4、Active-Halt mode在Active-Halt模式下,主时钟和CPU,以及大部分的外设都停止了,只剩下LSE或LSI 为一部分的外设提供时钟,能在Active-Halt模式运行的外设包括:SWIM、beeper、IWDG、RTC和LCD。

进入Active-Halt模式,是通过halt语句。

退出是通过外部中断、RTC和复位。

参看代码如下:void McuActive_Halt(){//Halt_Init();PWR_UltraLowPowerCmd(ENABLE);RTC_Config(10000); //初始化RTC/*#ifdef USE_LSECLK_LSEConfig(CLK_LSE_OFF);while ((CLK->ECKCR & 0x04) != 0x00);#elseCLK_LSICmd(DISABLE);while ((CLK->ICKCR & 0x04) != 0x00);#endif*/sim();halt(); //进入Active-Halt模式}5、Halt mode在Halt mode下,系统时钟停止,CPU和所有的外设停止。

进入Halt mode,是执行halt 语句。

退出此模式,是通过外部中断和复位。

Halt mode和Active-Halt mode的区别是:Active-Halt mode下的一些外设还在工作。

参考代码如下:void McuHalt(){Halt_Init(); //关闭外设sim(); //屏蔽中断halt(); //进入Halt模式}二、测试功耗2.1、测试的各个模式下的功耗的测试步骤如下:1、烧写不同模式下的代码,配置外部中断唤醒。

相关文档
最新文档