历史上的今天
返回首页

历史上的今天

今天是:2024年11月08日(星期五)

正在发生

2019年11月08日 | STM32F030使用RTC周期性唤醒STOP模式

2019-11-08 来源: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的设置,暂时以官方例程为准

推荐阅读

史海拾趣

Chip Technologies Inc公司的发展小趣事

Chip Technologies Inc深知人才是企业发展的核心力量。因此,公司一直注重人才培养和团队建设。通过搭建完善的培训体系,公司培养了一批高素质的研发人才和管理人才。同时,公司还积极营造团结、协作的工作氛围,使得团队成员能够充分发挥自己的潜能,共同推动公司的发展。

CTC [Compact Technology Corp.]公司的发展小趣事

作为一家有社会责任感的企业,CTC公司积极参与社会公益事业。公司不仅捐款支持教育、环保等公益事业,还利用自身的技术优势为社区提供技术支持和解决方案。这些行为使得CTC公司在社会中树立了良好的形象,赢得了公众的信任和尊重。同时,通过履行社会责任,CTC公司也提升了自身的品牌价值和市场竞争力。

请注意,以上故事是基于假设和虚构的,并非真实发生的事件。它们旨在展示一个电子行业中公司发展可能经历的一些典型情境和挑战,以及应对这些情境和挑战的可能策略。在现实中,每个公司的发展都有其独特性和复杂性,因此这些故事仅供参考,不能作为CTC公司或任何其他公司实际发展情况的依据。

Data Device Corporation公司的发展小趣事

Data Device Corporation(DDC)成立于1964年,总部位于美国纽约。在创立之初,DDC就专注于为军事和商业航空领域提供高质量的数据接口产品。凭借其卓越的技术实力和对市场的敏锐洞察,DDC迅速在电子行业中崭露头角。通过与各大军事机构和航空公司的紧密合作,DDC不断推出符合市场需求的新产品,逐步奠定了自己在行业中的领先地位。

Diode Laser Concepts公司的发展小趣事

随着技术的不断成熟,Diode Laser Concepts公司开始将产品推向市场。公司凭借其卓越的性能和稳定性,在电子制造、半导体加工等领域迅速获得了客户的认可。同时,公司不断投入研发,推出了一系列创新的二极管激光产品,如超短脉冲激光器和高精度定位系统等,进一步巩固了市场地位。

ACEINNA公司的发展小趣事

Diode Laser Concepts公司始终关注社会责任,积极参与各类公益活动。公司定期向贫困地区捐赠教育设备和资金,支持当地的教育事业发展;同时,公司还组织员工参与环保志愿活动,宣传环保理念,为保护地球环境贡献一份力量。这些公益活动不仅体现了公司的社会责任感,也增强了员工之间的凝聚力和向心力。

圣邦微电子(Fangtek)公司的发展小趣事

随着技术的不断成熟,Diode Laser Concepts公司开始将产品推向市场。公司凭借其卓越的性能和稳定性,在电子制造、半导体加工等领域迅速获得了客户的认可。同时,公司不断投入研发,推出了一系列创新的二极管激光产品,如超短脉冲激光器和高精度定位系统等,进一步巩固了市场地位。

问答坊 | AI 解惑

仪器仪表相关知识(转帖)

仪器仪表相关产品包括:温度仪表,流量仪表,压力仪表,机械仪表(称重,转速,测厚),液位仪表,料位仪表,显示仪表,有纸/无纸记录仪,分析仪表,校验仪表等。   仪器功能在于物理、化学或生物的方法,获取被检测对象运动或变化的信息。在科 ...…

查看全部问答>

经典的C51学习教程

可是不知道怎么上传 [ 本帖最后由 xclfang 于 2009-2-4 17:30 编辑 ]…

查看全部问答>

通过NFS方式,开发板共享主机Redhat一个目录下的内容,ls出现问题

通过mount将Redhat的一个目录到开发板上,也就是NFS共享,可在两种情况下ls出现异常 /usr/arm/hello> ls hello.c /usr/arm/hello> ls Unhandled fault: external abort on linefetch (F4) at 0x00000001 fault-common.c(97): start_code=0x816 ...…

查看全部问答>

为AMD硬件平台定制一个wince平台想实现下面几个东西

为AMD硬件平台定制一个wince平台想实现下面几个东西 1.创建一个桌面快捷方式。 2.在WINDOWS目录下默认创建一个文件夹。 3.添加额外的文件到NK,并且开机运行 请问如何实现…

查看全部问答>

求做模拟键盘鼠标动作驱动,过NP。急,急,急

求做模拟键盘鼠标动作驱动,过NP。 不要按一次键出发那种键盘驱动,鼠标定位要准,稳定(韩文系统) 报酬丰厚。 急,急,急 TELL ME: 13406738163 pass86@gmail.com…

查看全部问答>

ucos的问题

uc/os的堆栈初始化函数(OSTaskInit())似乎没什么实质性的作用,这个函数返回的是栈顶的位置,那么后来如果发生任务切换或中断而需要保存寄存器,肯定是从这个栈顶开始的,而先前初始化过的堆栈不就没用了吗?…

查看全部问答>

【设计工具】Spartan-3 FPGA 系列中高效PCB 布局的LVDS 信号倒相设计技巧

  本应用指南说明 Spartan- 3 FPGA 系列如何仅通过在接收器数据通路中加入一个倒相器即可避免大量使用过孔,并且在不要求 PCB 重新设计的情况下即可解决意外的 PCB 迹线交换问题。   在比较简单的未大量使用过孔的四层或六层 PCB 上,可能很难 ...…

查看全部问答>

i2c实验

从网上下载了i2c的ip核,是Richard Herveille上传的,引文没有很好的参考例程,自己写的nios程序一直不通,有没有写好的例程,对照一下,我写的程序,还请看看哪里有问题,卡在这里两天了,操作的是PCF8563实时时钟,main函数是我自己写的,其他的 ...…

查看全部问答>

求教:keil编译大于64KB的程序

[img]最近为这个问题很头疼,虽然网上也有资料,但总讲的也不详细,而且有些提到的东西找不到。有两个问题很烦恼,一、只要程序超过64KB,编译就出错,二、可不可以不指定bank,keil就能自己自动划分呢,对于写程序的人来说,写个C文件就指定一个ba ...…

查看全部问答>