历史上的今天
今天是:2025年02月28日(星期五)
2021年02月28日 | 关于STM8S单片机低功耗应用中时钟源切换时的注意点
2021-02-28 来源:eefocus
简介:一般正常运行时,我们使用的时HSE(外部高速时钟源),当准备进入低功耗时,我们会切换到内部高速时钟HSI(一般需要分频以降低功耗),关闭HSE(若不关闭就不会出现下面的问题,即不用看本文了)。当从低功耗退出,进入正常运行时,会切换HSE。
这时由于之前关闭了HSE,再次打开HSE时会需要一段时间才会ready,然后再由HSI切换到HSE。
//该函数可实现切换时钟源功能。HSE与HSI互切。
void Switch_SysClock(CLK_Source_TypeDef CLK_NewClock)
{
switch(CLK_NewClock)
{
case CLK_SOURCE_HSE:
//启用外部高速晶振且无分频。12M.
CLK->SWCR|=0x02; //开启切换
CLK->ECKR|=0x01; //使能外部高速晶振
while((CLK->ECKR & 0x02)==0x00); //等待HSE稳定。
CLK->SWR =0xB4;
while((CLK->SWCR & 0x01)==0x01);
CLK->CKDIVR=0x00;
CLK->SWCR&=(~0x02);//关闭切换
CLK->ICKR &= 0xFE;//关闭内部高速晶振
break;
case CLK_SOURCE_HSI:
CLK->SWCR |= 0x02;/开启切换
CLK->ICKR |= 0x01;//使能内部高速晶振
CLK->SWR = 0xE1;
while((CLK->SWCR & 0x01)==0x01);
//CLK->CKDIVR =0x08;//启用内部高速晶振且2分频。8M.
CLK->CKDIVR =0x18;//启用内部高速晶振且8分频。2M.
CLK->SWCR &= (~0x02);//关闭切换
CLK->ECKR &= 0xFE;
break;
case CLK_SOURCE_LSI:
/*
*/
default:break;
}
}
史海拾趣
|
本帖最后由 paulhyde 于 2014-9-15 09:35 编辑 简介:全国大学生电子设计竞赛(2009-2012)组委会受教育部高等教育司、工业和信息化部人事教育司委托,在认真总结往届电子设计竞赛经验的基础上,组织2009年全国大学生电子设计竞赛(含本科、高职高 ...… 查看全部问答> |
|
使用synplify如何综合带有core generator生成IP的工程? 用synplify综合一个带有ISE IP核的工程,添加属性使其为黑盒子,在synplify中查看时已经成功综合为了黑盒子,如附图所示。 然而当我用生成的edf文件放到ISE中去implementation时却报错: ERROR:Xst:2369 - Empty project file \"E:\\design\\co ...… 查看全部问答> |
|
Power Architecture Study Notes Capture 0 A big picturePPC function category:1. Interger (Fixed-point) Facility, using 32 GPRs(General Purpose Registers), each register have 32/64 bits for different mode. 2. Floating-point Facility, using 32 FPRs (Floating- ...… 查看全部问答> |
|
有哪位朋友开发嵌入式产品时用过讯飞公司的s3011语音芯片,本人在使用过程 中遇到不少问题,有哪位朋友有经验帮助咨询一下,谢谢了。… 查看全部问答> |
|
TI的编程器软件下载安装好后,点击图标运行,出现“0xxxxxxxxxxx”指令引用“0x0xxxxxxxxx”内存,该内存不能为read. 出现这种情况,可以打开注册表编辑器,定位到 HKLM\\Luminary Micro\\LMIFlash\\QuickSet,将该键键值修改为0。… 查看全部问答> |




