历史上的今天
今天是: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的设置,暂时以官方例程为准
史海拾趣
|
仪器仪表相关产品包括:温度仪表,流量仪表,压力仪表,机械仪表(称重,转速,测厚),液位仪表,料位仪表,显示仪表,有纸/无纸记录仪,分析仪表,校验仪表等。 仪器功能在于物理、化学或生物的方法,获取被检测对象运动或变化的信息。在科 ...… 查看全部问答> |
|
通过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平台想实现下面几个东西 1.创建一个桌面快捷方式。 2.在WINDOWS目录下默认创建一个文件夹。 3.添加额外的文件到NK,并且开机运行 请问如何实现… 查看全部问答> |
|
求做模拟键盘鼠标动作驱动,过NP。 不要按一次键出发那种键盘驱动,鼠标定位要准,稳定(韩文系统) 报酬丰厚。 急,急,急 TELL ME: 13406738163 pass86@gmail.com… 查看全部问答> |
|
【设计工具】Spartan-3 FPGA 系列中高效PCB 布局的LVDS 信号倒相设计技巧 本应用指南说明 Spartan- 3 FPGA 系列如何仅通过在接收器数据通路中加入一个倒相器即可避免大量使用过孔,并且在不要求 PCB 重新设计的情况下即可解决意外的 PCB 迹线交换问题。 在比较简单的未大量使用过孔的四层或六层 PCB 上,可能很难 ...… 查看全部问答> |
|
[img]最近为这个问题很头疼,虽然网上也有资料,但总讲的也不详细,而且有些提到的东西找不到。有两个问题很烦恼,一、只要程序超过64KB,编译就出错,二、可不可以不指定bank,keil就能自己自动划分呢,对于写程序的人来说,写个C文件就指定一个ba ...… 查看全部问答> |




