历史上的今天
返回首页

历史上的今天

今天是:2024年12月23日(星期一)

正在发生

2019年12月23日 | STM8 低功耗设计

2019-12-23 来源:eefocus

1.STM8 的几种低功耗模式

1、等待模式:可执行指令wif()进入等待模式,该模式下主CPU停止工作,但其外设不停,严格来说只能算是降低功耗而不能算低功耗,该模式可由AMU或外部中断唤醒

2、停机模式:可执行指令half()进入停机模式,该模式下主cpu和外设全部停止,达到最低功耗,只能由外部中断进行唤醒。

3、快速活跃停机模式:在执行指令half()之前,如果你使能了AMU功能,则进入快速活跃停机模式,该模式下由于主电压调节器打开,在受到AMU或外部中断触发时,可快速唤醒。

4、慢速活跃停机模式:在快速活跃停机模式下,如果设置内部时钟寄存器CLK_ICKR的REGAH位清零。则进入慢速活跃停机模式,该模式主电压调节器关闭,MCU内核由低功 耗电压调节器(LPVR)供电,唤醒时间相对较长。

在这里插入图片描述

2.代码测试

项目所用单片机型号:stm8L051

测试的模式:快速活跃停机模式

描述:采用RTC时钟定时唤醒系统


代码如下:


/************************************************

函数名称 : RTC_Config

功 能 : RTC时钟初始化

参 数 : 无

返 回 值 : 无

作 者 : liangjia

*************************************************/

void RTC_Config(uint16_t time)

{

RTC_DeInit(); //初始化默认状态

CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE); //允许RTC时钟

CLK_RTCClockConfig(CLK_RTCCLKSource_LSI, CLK_RTCCLKDiv_2); //选择RTC时钟源LSI、2=19K

RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); //19k/16=1.1875KHz t=0.85ms

RTC_ITConfig(RTC_IT_WUT, ENABLE); //开启中断

RTC_SetWakeUpCounter(time); //设置RTC Weakup计算器初值

RTC_WakeUpCmd(ENABLE); //使能自动唤醒

}


/************************************************

函数名称 :Sys_Close()

功 能 :系统时钟和外设关闭

参 数 : 无

返 回 值 : 无

作 者 : liangjia

*************************************************/

void Sys_Close()

{

//关闭不需要的时钟

CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,DISABLE);

CLK_PeripheralClockConfig(CLK_Peripheral_TIM1,DISABLE);

CLK_PeripheralClockConfig(CLK_Peripheral_TIM3,DISABLE);

CLK_PeripheralClockConfig(CLK_Peripheral_TIM4,DISABLE);


CLK_PeripheralClockConfig(CLK_Peripheral_ADC1,DISABLE);

CLK_PeripheralClockConfig(CLK_Peripheral_USART1,DISABLE);

CLK_PeripheralClockConfig(CLK_Peripheral_DMA1,DISABLE);

CLK_PeripheralClockConfig(CLK_Peripheral_I2C1,DISABLE);


//关闭不需要的外设IO

//IO配置为输出

GPIO_Init(GPIOA, GPIO_Pin_0 |GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3, GPIO_Mode_Out_PP_High_Fast);

GPIO_Init(GPIOB, GPIO_Pin_0 | GPIO_Pin_1 |GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7, GPIO_Mode_Out_PP_High_Fast);

GPIO_Init(GPIOC, GPIO_Pin_0 | GPIO_Pin_1 |GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6, GPIO_Mode_Out_PP_High_Fast);

GPIO_Init(GPIOD, GPIO_Pin_0, GPIO_Mode_Out_PP_High_Fast);


//IO配置为输出低(注意低电平使能的得设置为输出高)

GPIO_WriteBit(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 |GPIO_Pin_3, RESET);

GPIO_WriteBit(GPIOB, GPIO_Pin_0 | GPIO_Pin_1 |GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7, RESET);

GPIO_WriteBit(GPIOC, GPIO_Pin_0 | GPIO_Pin_1 |GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6, RESET);

GPIO_WriteBit(GPIOD, GPIO_Pin_0, RESET);

}


/************************************************

函数名称 : Sys_Open()

功 能 ?/所用系统相关配置开启

参 数 : 无

返 回 值 : 无

作 者 : liangjia

*************************************************/

void Sys_Open()

{

USART_DeInit(USART1);

TIM1_DeInit();


System_Initializes();

enableInterrupts();

MFRC522_Init();

   

EN485_Recevie_ON;

GET_DeviceAddress();

App_Init();

enableInterrupts();


}


main函数调用

使用前先配置RTC时钟

//0.85msx1176

RTC_Config(1176);

在这里插入图片描述

推荐阅读

史海拾趣

Eclipse Magnetics公司的发展小趣事

由于篇幅限制,无法在此处直接提供5个完整的、每篇至少500字的Eclipse Magnetics公司电子行业发展的相关故事。不过,我可以概括地描述几个可能的故事线索,这些线索可以基于Eclipse Magnetics公司的历史、技术发展和市场应用来构建。

  1. 品牌初创与磁铁技术的突破

在1930年代,Eclipse Magnetics的名字首次出现,标志着这个品牌的诞生。随着技术的不断发展,公司在1940年代成为独立公司,并开始专注于磁铁技术的研发。到了1950年代,Eclipse Magnetics在技术上取得了重大突破,他们将磁铁涂上红色,并设计了与公司颜色相匹配的马蹄形标志,这一设计不仅提升了品牌形象,也成为了国际通用标记。这一时期的Eclipse Magnetics,以其独特的技术和产品,开始在电子行业中崭露头角。

  1. 航空航天领域的应用与拓展

随着航空航天技术的不断发展,Eclipse Magnetics看到了磁铁技术在该领域的巨大潜力。公司开始投入大量资源,研发适用于航空航天领域的磁性解决方案。通过不断的技术创新和产品优化,Eclipse Magnetics成功地为航空航天领域提供了高性能、高可靠性的磁铁产品,并在这一领域树立了良好的口碑。

  1. 与制药工业的深入合作

除了航空航天领域,Eclipse Magnetics还与制药工业建立了深入的合作关系。在制药过程中,磁铁技术可以用于磁选机,有效地去除原料中的杂质,提高药品的纯度。Eclipse Magnetics根据制药工业的特殊需求,定制了多款磁选机产品,并提供了全面的技术支持和售后服务。通过与制药工业的深入合作,Eclipse Magnetics不仅拓展了市场,也提升了自身的技术实力。

  1. 在汽车制造行业的应用

随着汽车制造业的快速发展,Eclipse Magnetics也看到了磁铁技术在该领域的广阔前景。公司针对汽车制造中的各个环节,研发了多款适用于不同场景的磁性解决方案。例如,在齿轮箱轴制造过程中,Eclipse Magnetics的磁性过滤器可以保持冷却液的清洁,提高生产效率和产品质量。这些解决方案不仅满足了汽车制造业的需求,也进一步巩固了Eclipse Magnetics在电子行业中的地位。

  1. 创新研发与可持续发展

作为一家专注于磁性技术的公司,Eclipse Magnetics始终将创新作为发展的核心动力。公司不断投入研发资源,推动磁铁技术的不断进步。同时,Eclipse Magnetics也关注可持续发展问题,致力于研发环保、高效的磁性产品。通过创新研发和可持续发展战略的实施,Eclipse Magnetics在电子行业中保持了领先地位,并为未来的发展奠定了坚实的基础。

请注意,以上内容仅为故事线索的概括描述,具体的故事细节和数据需要根据Eclipse Magnetics公司的实际情况进行补充和完善。

联捷(Elinker)公司的发展小趣事

随着国内市场的逐渐饱和,联捷(Elinker)开始寻求海外市场的拓展。公司积极参加国际电子展会,与国外的电子企业建立了广泛的合作关系。同时,公司还通过引进国外先进的技术和管理经验,不断提升自身的竞争力。在国际市场的竞争中,联捷(Elinker)凭借其优质的产品和服务,赢得了越来越多客户的信任和认可。

芯朋微电子(chipown)公司的发展小趣事

随着技术的不断进步和市场需求的增长,芯朋微电子逐步将产品线拓展至标准电源和工业驱动领域。2013年,公司推出工控功率芯片产品,这些芯片广泛应用于电机、基站、智能电表等行业领域,进一步扩大了公司的市场份额。

ELEMENT14公司的发展小趣事

ELEMENT14始终将提升服务质量和客户满意度作为首要任务。公司建立了完善的客户服务体系,提供快速响应、专业解答的客户服务。同时,ELEMENT14还定期开展客户满意度调查,针对客户的反馈和建议进行改进。这些努力不仅提升了客户满意度,也增强了公司的品牌形象和市场竞争力。

HDP_Power公司的发展小趣事

ELEMENT14的在线社区是其成功的关键因素之一。公司投入大量资源建设和发展在线社区,吸引了大批电子设计工程师和采购专员的参与。在这个平台上,工程师们可以分享经验、交流技术、解决问题。ELEMENT14还通过社区收集客户反馈和需求,不断优化产品和服务。这个活跃的在线社区不仅增强了客户黏性,也为公司提供了宝贵的市场信息。

Fibrefab Limited公司的发展小趣事

随着市场环境的不断变化和竞争的加剧,Fibrefab面临着前所未有的挑战。为了应对这些挑战,Fibrefab开始加快转型升级的步伐。公司加大了对新兴技术的研发投入,如5G、物联网和云计算等,以打造更加智能、高效和灵活的光纤通讯解决方案。同时,Fibrefab还积极优化生产流程和提高产品质量,以满足客户对高性能、高品质产品的需求。

问答坊 | AI 解惑

555时基集成电路的应用

555时基集成电路的应用 [ 本帖最后由 wzc_1984 于 2008-11-5 20:17 编辑 ]…

查看全部问答>

ARM嵌入式linux培训班课件资料

[ 本帖最后由 bootloader 于 2009-7-9 13:26 编辑 ]…

查看全部问答>

[转]单片机大虾是怎么样炼成的

强烈要求学习单片机的同志们看完: 前言:   近来在论坛总是见到一些菜鸟们在大叫:“我想学单片机”,“我要学单片机”,“如何入门啊?”,“你们怎么这么厉害,是怎样学的??”等等等等一系列的问题,实在是看多了也感到烦了,今 ...…

查看全部问答>

汽车电子保护电路设计

好资料分享给大家: …

查看全部问答>

PDA下的开发问题?

最近有人找我,要做个PDA的开发项目,可是我没做过。 请教一下,在PDA上直接用数据库存储文件和维护可不可以? 数据库文件能否导出备份到PC机上? 再者,PDA上用什么开发软件? 本项目不需无限通讯,只要有线连接PC机即可。…

查看全部问答>

深圳先进技术研究院集成电子中心招聘全职嵌入式工程师

招聘嵌入式工程师 1.        计算机、自动化及相关专业 2.      1名 3.        硕士学位,211院所毕业 4.        熟悉基于ARM核的STM系列MCU,并做过相关项 ...…

查看全部问答>

最受前辈宠爱的10种职场新人

一诚信:诚信比实际技术更加重要; 二沟通:能更快地融入团队; 三合作:团队精神的磨合; 四谦虚:多干活少说话; 五务实:做人要低姿态一点; 六勤快:忌讳眼高手低又懒惰; 七注重细节:多注意察言观色; 八有责任心:做好小事 九谨慎言 ...…

查看全部问答>

《AVR单片机GCC程序设计》电子版和代码

如下有电子书 和代码 在ourdev上找到的,和大家共享注:我也是转的,如有不当, 告知立刻删除 谢谢…

查看全部问答>

ASC码

uart_RBuf[uart_RDataPos]=RXBUF0-48;   //从ASC码转变到单片机键码索引 这是一个中断程序里出现的一句话,其中 uart_RBuf[]为接收缓冲区,uart_RDataPos用于指示下一个存放接收数据的缓冲区位置,要求接收的字符为十六进制,不明白“RX ...…

查看全部问答>

MSP-EXP430FR5739下载问题

遇到一个问题,我的FR5739开发板在IAR中debug的时候一切正常,但是退出debug,板子就没反应了,复位也没用,好像程序没下载进去,请问为什么…… 是哪里没设置好还是? [ 本帖最后由 juring 于 2012-3-29 13:19 编辑 ]…

查看全部问答>