历史上的今天
返回首页

历史上的今天

今天是:2024年12月19日(星期四)

正在发生

2019年12月19日 | Stm8L系列单片机的低功耗

2019-12-19 来源:eefocus

Stm8L系列单片机的低功耗有五种模式:


wait模式


Low power run模式


Low power wait模式


Active-halt with full RTC模式


Halt模式


最低功耗的就是就是halt模式。这里也主要总结一下如何进入halt模式,进入以后可以通过什么方式唤醒,以及有很多客户会关心的如何自动唤醒。


Halt模式进入很简单,执行一条halt指令,调用库函数也就是halt()就行了。但是进入前要注意把所有的中断挂起标志给清除掉。要是不清零又恰巧有中断标志的时候进入该模式也会被立马唤醒。进入这种模式,所有的外设全都关闭了,所有时钟关闭。这时候它自己是醒不过来的,只能靠掐人中(给个外部中断)或者重新复活(重启复位)。当然这个在进入halt之前是要把中断引脚什么的该配置的给配置好了。


那现在有个问题就是在halt模式下只能通过外部中断和复位了,我需要它自动醒过来怎么办?那就在进入的时候定个闹铃了(打开rtc),到点了就要醒过来。既然开了闹铃了它也就不是纯halt模式了。这时候也就叫做active-halt模式。Active-halt模式下可以打开个rtc和lcd。这里要说明一下,在stm8s和stm8l101xx系列里面有AWU自动唤醒寄存器。


Halt模式下设置,达到0.4uA

 

I/O口设置,没有其它外设下,不用的IO口全部拉低输出,用到的IO口按使用情况设置,GPIO_Mode_In_PU_No_IT,与GPIO_Mode_In_Fu_No_IT,对GPIO的配置,功耗也是有差别的,各位各自去体会吧,哈哈。且主时钟默认是2MHz。


void GPIOInit(void)


{


      GPIO_TypeDef GPIO_Struct;


 


      GPIO_DeInit(&GPIO_Struct);


      


      GPIO_Init(GPIOB,GPIO_Pin_0  | GPIO_Pin_3|GPIO_Pin_5 | GPIO_Pin_6,GPIO_Mode_Out_PP_Low_Fast);


      GPIO_Init(GPIOB,GPIO_Pin_1 | GPIO_Pin_2| GPIO_Pin_7,GPIO_Mode_In_PU_No_IT);


      GPIO_Init(GPIOB,GPIO_Pin_4,GPIO_Mode_Out_PP_Low_Fast);


      


      GPIO_Init(GPIOD,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_Low_Fast);        


      //GPIO_ExternalPullUpConfig(GPIOC,GPIO_Pin_2 | GPIO_Pin_3,ENABLE);


      //GPIO_Init(GPIOD,GPIO_Pin_6 |GPIO_Pin_7 ,GPIO_Mode_Out_PP_High_Fast);        


 


      GPIO_Init(GPIOC,GPIO_Pin_4,GPIO_Mode_In_PU_No_IT); //RF_IRQ


      GPIO_Init(GPIOC,GPIO_Pin_0 | GPIO_Pin_6,GPIO_Mode_Out_PP_High_Fast); //MOSI 备用


      GPIO_Init(GPIOC,GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5 | GPIO_Pin_7,GPIO_Mode_Out_PP_High_Fast);


      


      GPIO_Init(GPIOA,  GPIO_Pin_4|GPIO_Pin_5 |GPIO_Pin_6 , GPIO_Mode_In_PU_No_IT); //KEY


      GPIO_Init(GPIOA,  GPIO_Pin_0|GPIO_Pin_1 |GPIO_Pin_2 |GPIO_Pin_3|GPIO_Pin_7 , GPIO_Mode_Out_PP_Low_Fast);


      


      PD_ODR_ODR0=0; //oled_ce      


}


 


int main( void )


{  


   asm("sim");   //全局中断关


 


   GPIOInit();   //IO初始化


 


asm("rim");   //全局中断开启


   CLK_DeInit();


   PWR_UltraLowPowerCmd(ENABLE);


    halt();


    /*infinite loop begin*/


while(1);


此设置下STM8L151芯片功耗达到0.4uA,无其它外设的初始化

推荐阅读

史海拾趣

Hifn Inc公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,任何与电视机连接的网络终端设备均可视为机顶盒,它们不仅限于接收和转换电视信号,还具备丰富的网络交互功能。

机顶盒的核心功能在于接收并解码来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,将其转换成适合在电视机上播放的格式。这一过程包括接收、解码和显示三个主要步骤,确保了用户能够享受到高清乃至4K的超高清画质和震撼音效。此外,机顶盒还提供了诸如电子节目指南、因特网网页浏览等增值服务,极大地丰富了用户的观看体验。

随着技术的不断进步,机顶盒正朝着智能化、多功能化方向发展。例如,智能推荐算法能够根据用户的观看历史和偏好,提供个性化的节目推荐;语音识别技术则让用户能够通过语音指令控制机顶盒,实现更加便捷的操作体验。同时,机顶盒还支持家庭影院功能,让用户在家中就能享受到电影院般的视听效果。

总的来说,机顶盒作为连接电视与外部信号源的桥梁,不仅提升了电视节目的观看体验,还通过丰富的网络交互功能为用户提供了更加广泛的内容和娱乐选择。随着技术的不断发展和用户需求的日益多样化,机顶盒将继续在家庭娱乐领域发挥重要作用。

洲光源(Chau Light)公司的发展小趣事

洲光源公司自2011年成立以来,一直致力于红外LED光源器件的研发和生产。在公司成立的初期,市场上对于红外LED的需求并不高,但洲光源公司坚信其未来的潜力。通过不断的技术研发和创新,洲光源成功开发出了高效、稳定、可靠的红外LED产品,逐渐在市场上树立了良好的口碑。随着智能家居、安防监控等领域的快速发展,红外LED的需求迅速增长,洲光源公司也迎来了发展的黄金时期。

APLUS Products公司的发展小趣事

在XXXX年,APLUS Products公司迎来了一次重要的技术突破。公司研发团队成功开发出了一款具有划时代意义的电子产品,该产品在性能、稳定性和用户体验等方面均达到了行业领先水平。这一技术突破不仅为公司赢得了大量订单,还进一步巩固了其在电子行业中的市场地位。

Brilliance公司的发展小趣事

在国内市场取得一定成功后,Brilliance公司开始将目光投向国际市场。公司制定了详细的国际化战略,积极寻求与国际知名企业的合作机会。通过与国外合作伙伴的共同努力,Brilliance的产品逐渐打入国际市场,并获得了良好的口碑。同时,公司还积极参加国际电子展会和交流活动,提升了品牌知名度和影响力。

DAQ Electronics LLC公司的发展小趣事

随着技术的不断成熟和产品线的丰富,DAQ Electronics LLC公司开始积极拓展市场。公司通过与科研机构、高校以及企业建立合作关系,将数据采集技术应用于更多领域。在科学研究领域,DAQ Electronics LLC公司的数据采集设备为实验数据的准确获取提供了有力保障;在工业生产领域,其设备则帮助企业实现了对生产过程的实时监控和数据分析。

EMBEST公司的发展小趣事

XXXX年,ARM公司投资了EMBEST,双方建立了紧密的战略合作关系。这一合作不仅为EMBEST带来了更多的技术支持和资源,也进一步巩固了其在ARM开发工具领域的领先地位。通过与ARM的紧密合作,EMBEST不断推出创新产品,满足市场的多样化需求。

问答坊 | AI 解惑

【EEWORLD】救火车和你一起学ARM系列活动之四

向量中断简介 ARM7中断体系介绍     上一次活动中,我们介绍了ARM7的时钟系统,这次活动介绍中断系统。这个两个系统是在以后的活动中,有很多的应用,同时这两个系统,也是ARM甚至是所有MCU的基础模块。     arm的VIC中断体 ...…

查看全部问答>

分析外国代码-产生随机时钟的CODE!

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity decim_al2 isGeneric(        num : integer range 0 to 1022 := 7; -- numerateur du rapport de decimatio ...…

查看全部问答>

散分~wince开机启动速度提高了

散分~系统启动速度提高一半了~俺用的是EP9315,64m的ram加32m的flash~,原来启动大概11秒,现在最多5秒~原因未明,待查找呵呵,心情不错,特来散分~…

查看全部问答>

ARM+VXWORKS开发

我刚开始上班,好多东西都不懂,经理把板子给我了.让我自己弄. 问其他同事,他们都说忙,好郁闷呀! 主机,ARM9开发板,ADS1.2集成开发环境,JTAG仿真器.都有了. 我下一步该做什么. 如果直接用Tornado 2.2 for pcPentium,然后和目标机这样连接可以吗? ...…

查看全部问答>

TCP连接问题

最近在PPP基础上实现TCP数据传输,可是TCP的三次握手怎么都连不上,只是有时可以,不知道为什么。而且三次握手的程序和发送数据的程序要分两次执行数据才能发送成功。我把发送的数据放到下面,忘大虾给予指点 第一次握手 FF 03 00 21 45 00 00 30 ...…

查看全部问答>

买书送了一块PCB板,空板,我该怎么开始...

只有一块空板,我什么芯片,元器件都没,书上有说哪里放什么器件,怎么放...开始买书的时候以为送的是完整的PCB开发板,还想照着书上的例子做做实验的,求大侠指点!!!…

查看全部问答>

STR730的疑惑

近来用STR730搞个项目发觉EIC算中断程序地址这样算   0XF3E0+0X00000040+8+0XFFFFFC18  = 0x0000f040事实上跳到0X80000040处,高16位就不说了,固定的,低16位就搞不懂了,多了个0XF000即0XF3E0表示的偏移量是0 ...…

查看全部问答>

转让FREESCALE DSP56F807开发板 - 450元

去年在北京通特科技有限公司买的,我们公司是做电力系统保护的,本来是想把这款DSP好好研究下的,因为在电力系统中这款DSP用的比较多,后来因为赶上别的项目,换成了STM32F ARM7平台,所以就一直没时间弄了,只弄了不到一个星期,基本上是崭新的 ...…

查看全部问答>

大惊喜!在EEWORLD的申请下,LaunchPad加送触摸板啦!!

各位参加“EEWORLD大学堂TI教室”认真学习并拿到LaunchPad的童鞋们,你们一定惊喜的发现还有一个触摸板在上面吧! 是个,这就是大惊喜! 由于你们的认真学习,不仅是我们能够看到的,反馈给TI同样也可以看得到!不仅我们感动,TI也很感动。 在EE ...…

查看全部问答>

就业问题

2013年趋势分析:智能电视还能变啥样? 2012-11-14 13:05:52   来源:中国家电在线        从黑白到彩色,从模拟到数字,从平面到2D再到3D,从“看电视”到“用电视”再到“玩电视”……日新月异的电视技术 ...…

查看全部问答>