您的位置 首页 被动

结合STM8谈谈低功耗MCU编程的基本思想

结合STM8谈谈低功耗MCU编程的基本思想-定时休眠是低功耗MCU常用的手段,定时休眠便是让MCU先休眠再工作,在休眠和工作之间不停转换。STM8有多种低功耗方式,例如等待模式便是其中的一种,等待模式时仅MCU停止工作,其他外设可正常工作。使用等待模式可以保证定时器或UART等可以正常的进入中断。当然也可以使用停止模式进一步降低功耗,在这里则使用等待模式做一个“方法性质”的说明。

1.前语

作业之后触摸了“低功耗”,开端查找各式各样的低功耗MCU。网络是一个十分自在的当地,你总能够看到各种关于哪个MCU功耗更低的论争,在这些论争中我查阅了简直一切低功耗MCU的特性,例如MSP430EFM32还有STM32L等,网络论争的中心就是哪款MCU的休眠电流更低。看多了材料我便发现,这些低功耗的MCU怎么运用,低功耗MCU的程序编写和一般MCU编程有什么区别。

带着这些疑问我持续品尝关于低功耗MCU的”论争“,直到我购买了《MSP430系列单片机体系工程设计与实践》。在该书中提到了低功耗MCU编程的基本思想,大致能够总结为:

1.善用节拍

2.消除堵塞

下面就结合STM8谈谈怎么实践以上两点。(尽管STM8并不是严厉含义上的低功耗MCU,可是只需有低功耗指令的MCU都能够运用以上两点,发挥它的低功耗特性)

2.善用节拍

守时休眠是低功耗MCU常用的手法,守时休眠就是让MCU先休眠再作业,在休眠和作业之间不断转化。STM8有多种低功耗办法,例如等候形式就是其间的一种,等候形式时仅MCU中止作业,其他外设可正常作业。运用等候形式能够确保守时器UART等能够正常的进入中止。当然也能够运用中止形式进一步下降功耗,在这里则运用等候形式做一个“办法性质”的阐明。

结合STM8谈谈低功耗MCU编程的基本思想

图1 前后台体系中的低功耗节拍

能够这样了解,守时进入低功耗形式也能够了解为一个使命,这个“使命”会堵塞CPU使得其他使命无法得到运转,但这并不是真实含义的堵塞CPU,而是使得CPU中止只能经过守时器中止才能够退出该”使命“。完成部分的代码如下:

结合STM8谈谈低功耗MCU编程的基本思想

以上代码中呈现了WaitFlag标志位,该标志位呈现在Enter_WaitMode函数和TIM4_UPD_OVF_IRQHandler中止中,该标志位的作用是确保唤醒CPU持续作业的一定是守时器4溢出中止,其他中止例如UART接纳中止则不能使CPU从头运转。STM8的等候形式和守时器4溢出中止组成了低功耗节拍”使命“。

3.消除堵塞

从上文的剖析能够看出,在整个的运转周期中总是期望低功耗使命所占的比严重(从时刻视点切入),其他使命所占的比重小。那么其他使命应该尽量削减对CPU的占用,例如完成LED距离闪耀便可运用以下代码:

结合STM8谈谈低功耗MCU编程的基本思想

因为LED_Process在低功耗使命之后运转,而低功耗使命所占用CPU的时刻为固守时刻——守时器4溢出周期,也就意味着LED使命的调用周期为1ms,使用该特性能够结合一个计数变量LEDCounter完成LED闪耀功用,当然更杂乱的时序能够经过有限状态机完成。

4.总结

节拍运转和消除堵塞算是低功耗MCU编程的基本思想,了解了低功耗MCU编程的基本思路那么不是低功耗的MCU也能够用来开宣布低功耗使用。前段时刻上TB检查MCU的价格,STM8的价格真的把我吓了一跳,自己也置办了STM8开发板,结合低功耗办法所以总结了该文章。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/347908.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部