STM32低功耗试验总结
1、首要答复一个问题,STM32能不能做低功耗?
答复是必定的,这个是有数据支撑的,我测验的STM32101CB,FLASH:128K,RAM:16K并且RTC作业的情况下,测验到的功耗为16uA应该说仍是适当不错的。
2、STM32低功耗有哪些需求留意的当地?
一开始我测验到STM32为16uA的时分,仍是十分高兴的,认为真的能够做为我的运用,我的运用是让MCU守时醒来干活,干一会就睡觉,或许干活的时刻就几十个毫秒。可是后来发现有些问题(作业在STOP形式):
1)时钟问题:STM32被唤醒今后的时钟主动切换到内部HIS RC振荡器,我们都是知道的,RC振荡器的精度是不高的。并且,睡觉前关于时钟的设置都是康复到复位状况,仅仅时钟这个当地复位,其他的没有。这也会带来一个问题,或许你睡觉前运用的是内部时钟,可是睡觉后,时钟却变了,带来的问题便是UART和守时器。或许你想不运用PLL,便是8M,这样醒来后的时钟HIS也是8M,这样虽然在时钟上没有差别了,可是时钟却不安稳了。UART波特率必定不能太高,不然通讯会有问题。
2)醒来时刻:这个问题也是个十分大的问题,datasheet上给出的醒来时刻是7us,这个或许真的不假,可是醒来,不能立刻干_你的活,为什么。初始化IO,你或许问,我不初始化不行吗,答复应该是否定的。由于,假如你想运用低功耗的话,睡觉前IO口都应该设置为模仿输入,这样才干到达datasheet上的14uA,可是这样也带来一个问题,那便是初始化IO,醒来必需求初始化IO。假如你还想把时钟切换到外部时钟,耗时会更加长,挨近200ms,由于STM32会等候外部时钟安稳后才干作业,然后还要在从头初始化一切IO,这个十分的耗时。或许我只需求醒来10ms,可是这些活干完就需求100ms。
3)RTC唤醒:RTC这个也是个问题,为什么?我们需求留意的是RTC只能运用报警才干唤醒MCU,秒中止是不能够唤醒的。并且报警中止有必要不断的设置,设置一次只收效一次,中止完了,还需求设置下次中止的时刻。并且还有个问题,报警中止有必要等候到秒中止到了之后才干设置,也便是正好秒寄存器更新了一次的时分设置,这就带来一个问题,等候秒中止。假如睡前还想再能被报警唤醒的话有必要从头设置报警中止,并且设置报警中止的时分需求比及秒中止才干设置新的值。这个等候的时刻是不定的。或许会几百个毫秒。说以要空空的消耗几百个毫秒比及秒中止标志来设置报警中止。或许我的MCU只需求履行10ms就需求睡觉了。仍是要空空的消耗掉几百个毫秒
总结:在运用的过程中发现的问题,我都在上面说明晰,我觉得STM32的低功耗太假,虽然在睡觉的时分功能不错,可是醒来,和进入睡觉的设置太费事,耗时太多,这是个坏处,我觉得MSP430估量是做的最好的了,即使是AVR也比他好点,没有那么费事。
STM32低功耗试验总结
STM32低功耗实验总结1、首先回答一个问题,STM32能不能做低功耗?回答是肯定的,这个是有数据支持的,我测试的STM32101CB,FLASH:128K,RA
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/258971.html