历史上的今天
返回首页

历史上的今天

今天是:2024年12月03日(星期二)

正在发生

2018年12月03日 | STM32F030使用RTC周期性唤醒STOP模式

2018-12-03 来源:eefocus

首先,F030与F072的RTC唤醒功能是不一样的,在相关定义文件stm32f0xx_exti.h中有如下定义:


#define EXTI_Line17      ((uint32_t)0x00020000)  /*!< Internal interrupt line 17 

                                                      Connected to the RTC Alarm 

                                                      event */


#define EXTI_Line20      ((uint32_t)0x00100000)   /*!< Internal interrupt line 20

                                                      Connected to the RTC wakeup

                                                      event, only applicable for 

                                                      STM32F072 devices  */


也就是最好用最正宗的RTC唤醒功能(EXTI_Line20)只能用在F072上,不能用于F030,所以只能使用RTC Alarm( EXTI_Line17) 方式来唤醒RTC。


RTC设置流程如下:


1.初始设置RTC的秒时钟:


    RTC_InitStructure.RTC_AsynchPrediv

    RTC_InitStructure.RTC_SynchPrediv 


计算方法:LSI=40000HZ;


  LSI/(RTC_AsynchPrediv+1)/(RTC_SynchPrediv +1) =1


2.开启RTC中断及NVIC


    /* EXTI configuration */

    EXTI_ClearITPendingBit(EXTI_Line17);

    EXTI_InitStructure.EXTI_Line = EXTI_Line17;

    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;

    EXTI_InitStructure.EXTI_LineCmd = ENABLE;


    NVIC_InitStruct.NVIC_IRQChannel = RTC_IRQn;

    NVIC_InitStruct.NVIC_IRQChannelPriority = 1;

    NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;


3.每次进入休眠之前,都要设置闹钟RTC Alarm


    RTC_AlarmStructure.RTC_AlarmTime.RTC_H12     = RTC_H12_AM;

    RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours   = 0x01;

    RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = 0x00;

    RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = nDelayCNT;//0x05;

    RTC_AlarmStructure.RTC_AlarmDateWeekDay = 0x31;


其中nDelayCNT就是需要达到的唤醒时间长度,单位是秒(s).


至此,就算是把RTC唤醒搞定了 ,当然还有包括其他比如时钟RCC的设置,暂时以官方例程为准。


推荐阅读

史海拾趣

Brainboxes公司的发展小趣事

随着全球化进程的加速,Brainboxes逐渐将业务拓展至全球范围。公司在多个国家和地区设立分支机构或销售网络,以便更好地服务当地客户。同时,Brainboxes也在不断探索新的应用领域和市场机会,为公司的未来发展奠定坚实基础。展望未来,Brainboxes将继续致力于技术创新和市场拓展,为电子行业的发展贡献更多力量。

这五个故事分别展现了Brainboxes公司在电子行业中的创立与发展、技术创新与荣誉、内部制造与供应链、客户亲密度与工业连接以及全球布局与未来展望等方面的事实。通过这些故事,可以更加全面地了解Brainboxes公司在电子行业中的成长轨迹和发展成就。

Able Systems公司的发展小趣事

在追求经济效益的同时,Able Systems公司也注重履行企业社会责任。公司积极参与公益事业,关注环境保护和可持续发展。通过采用环保材料、推广节能技术等措施,公司努力降低生产过程中的能耗和排放。同时,公司还关注员工福利和职业发展,为员工提供良好的工作环境和培训机会。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

请注意,以上内容仅为概述性质,并非基于Able Systems公司的实际发展历程。如需了解更多关于Able Systems公司的故事,建议查阅相关新闻报道、公司年报等官方资料。

BJB公司的发展小趣事

随着科技的不断进步,BJB公司意识到技术创新的重要性。因此,公司加大了研发投入,积极引进先进的技术和设备,致力于照明配件产品的创新和升级。经过不懈的努力,BJB成功研发出具有高效节能、环保低碳特点的照明配件产品,不仅提升了产品的性能和质量,也满足了客户对绿色照明的需求。

HALO Electronics公司的发展小趣事

随着科技的不断进步,BJB公司意识到技术创新的重要性。因此,公司加大了研发投入,积极引进先进的技术和设备,致力于照明配件产品的创新和升级。经过不懈的努力,BJB成功研发出具有高效节能、环保低碳特点的照明配件产品,不仅提升了产品的性能和质量,也满足了客户对绿色照明的需求。

Astron Wireless Technologies Inc公司的发展小趣事

面对国内市场的饱和,Astron Wireless Technologies Inc公司开始将目光投向国际市场。公司积极参与国际通信展览和论坛,与全球各地的潜在客户和合作伙伴建立了联系。同时,公司还加大了对海外市场的研发投入,推出了一系列适应不同国家和地区需求的无线通信产品。这些努力使得公司在国际市场上取得了显著的成绩。

华宇创公司的发展小趣事

华宇创深知品质是企业生存和发展的关键。因此,公司建立了严格的质量管理体系,从原材料采购到生产过程再到成品检测,每一个环节都严格把控。同时,华宇创还积极参与各类国际认证和标准制定工作,不断提升产品的品质和性能。这些努力使华宇创的产品在市场上赢得了良好的口碑和信誉,品牌知名度也逐渐提升。

问答坊 | AI 解惑

常见的谬误(1)——我们担心什么?

1.概述 也许您曾经想过无线网络的应用,但是您听到的说法让您犹豫再三。您的同事告诉您,无线应用不但复杂而且昂贵。您的老板提到可靠性和升级的问题。或者,在您最后一次参加的技术会议上,与会者提到了太多太多的安全风险问题。 虽然各种形 ...…

查看全部问答>

FPGA如何防盗?

FPGA加密有那些高招?请教高人!…

查看全部问答>

如何精确处理模拟信号

大家好,现在实验中要对模拟信号精确处理,模拟信号Vo为电流传感器输出,经过隔离芯片后为Vin,然后送到跟随器,由于隔离芯片有误差,导致Vin高于Vo,差值为0.02v,为固定值,请问如何才能才能使用模拟电路抵消0.02v的差值?(见附件) [ 本帖最后 ...…

查看全部问答>

关于wince 在读写flash时候突然掉电的问题

昨天,一应用程序员反问了这个问题 在写向flash写数据的时候,突然断电,下次再启动的时候。这个文件变成不可读写了,说是写保护了。 请问大家是否遇到这种情况了? 我看了两个类似的帖子。 http://topic.eeworld.net/u/20080616/11/C34E5388-9 ...…

查看全部问答>

请问BootSector的最后两个字节到底是什么

我最近在看《自己动手写操作系统》那本书,已经看到了保护模式,但尚有一问,第一章时,BootSector的代码的最后两个字节是0x55aa 但是我后来改成了0xaa55 也可以正常引导,请问这到底是怎么回事呢?…

查看全部问答>

用制作LED16*16单行点阵屏通过RS232串口接收数据问题

本人用89C51做了一个LED16*16点阵单行显示屏,带RS232串行口,现在本人写的程序可显示4个中文汉字左或右、上或下循环显示,我懂用计时器0、方式1 设置9600波特率通过串口助手发十六进制01 、02控制带串口的LED单灯左循环的启停,现在有几点请教大家 ...…

查看全部问答>

atmel程序

各位大虾,写atmega的C程序需要注意一些什么问题呀。。…

查看全部问答>

S3C2416开发板ARM9EJ内核 完美替代S3C2440

一、S3C2416简介     S3C2416是低功耗、高性能、低成本的SAMSUNG ARM9(ARM926EJ)处理器,最具性价比优势的芯片,S3C2440最完美的替代者。    UT-S3C2416开发板是一款以S3C2416处理器为核心的高 ...…

查看全部问答>

转让一款omap3530开发板devkit8000

本人现在有一款omap3530嵌入式开发板devkit8000,当初心血来潮买的,因为种种原因买了之后就没用过了,算是全新的。关于该开发板的信息可以看这里http://www.timll.com/products/Devkit8000.asp这里http://elinux.org/DevKit8000和这里http://item. ...…

查看全部问答>

比例鉴频器的制作

我把相位鉴频器直接改为比例鉴频器,参数都没变,怎么输出的不是调制信号,而是载波信号呢?谢谢…

查看全部问答>