STM32F407的RTC时间

发布者:等放假的Lwj最新更新时间:2017-09-11 来源: eefocus关键字:STM32F407  RTC时间 手机看文章 扫描二维码
随时随地手机看文章

RTC_InitTypeDef RTC_InitStructure;
RTC_TimeTypeDef RTC_TimeStructure;
RTC_DateTypeDef RTC_DataStructure;


/****************************************************************************************
*函 数 名:bsp_InitRtc
*函数功能:初始化rtc
*形    参:无
*返 回 值:无
*****************************************************************************************/


void bsp_InitRtc(void)
{
RTC_InitTypeDef RTC_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
PWR_BackupAccessCmd(ENABLE);/*使能后备寄存器访问*/

if(RTC_ReadBackupRegister(RTC_BKP_DR0) != 0xA0A0)
{
RCC_LSEConfig(RCC_LSE_ON);/*使能LSE振荡器*/
while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)/*等待就绪*/
{
}
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);/*选择RTC时钟源*/
RCC_RTCCLKCmd(ENABLE);/*使能RTC时钟*/
RTC_WaitForSynchro();/*等待RTC APB寄存器同步*/
/*配置RTC数据寄存器和分频器*/
RTC_InitStructure.RTC_AsynchPrediv = 0x7f;
RTC_InitStructure.RTC_SynchPrediv  = 0xff;
RTC_InitStructure.RTC_HourFormat   = RTC_HourFormat_24;
RTC_Init(&RTC_InitStructure);
/*设置年月日和星期*/
RTC_DataStructure.RTC_Year = 0x15;
RTC_DataStructure.RTC_Month = 0x12;
RTC_DataStructure.RTC_Date = 0x06;
RTC_DataStructure.RTC_WeekDay = 0x07;
RTC_SetDate(RTC_Format_BCD,&RTC_DataStructure);
/*设置时分秒 及显示格式*/
RTC_TimeStructure.RTC_H12 = RTC_H12_AM;
RTC_TimeStructure.RTC_Hours = 0x21;
RTC_TimeStructure.RTC_Minutes = 0x30;
RTC_TimeStructure.RTC_Seconds = 0x00;
RTC_SetTime(RTC_Format_BCD,&RTC_TimeStructure);
/*配置备份寄存器,表示已经设置过RTC*/
RTC_WriteBackupRegister(RTC_BKP_DR0,0xA0A0);
}

}

/*
*********************************************************************************************************
* 函 数 名: main
* 功能说明: c程序入口
* 形    参:无
* 返 回 值: 错误代码(无需处理)
*********************************************************************************************************
*/
int main(void)
{
char buf[30];
/*
ST固件库中的启动文件已经执行了 SystemInit() 函数,该函数在 system_stm32f4xx.c 文件,主要功能是
配置CPU系统的时钟,内部Flash访问时序,配置FSMC用于外部SRAM
*/
bsp_Init();//初始化RTC


/* 进入主程序循环体 */
while (1)
{
 RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure);
RTC_GetDate(RTC_Format_BIN, &RTC_DataStructure);
sprintf(buf, 
         "20%0.2d/%0.2d/%0.2d", 
 RTC_DataStructure.RTC_Year, 
 RTC_DataStructure.RTC_Month, 
 RTC_DataStructure.RTC_Date);
printf("%s",buf);//输出时间到串口
printf("\r\n");//换行

sprintf(buf, 
         "%0.2d:%0.2d:%0.2d", 
 RTC_TimeStructure.RTC_Hours, 
 RTC_TimeStructure.RTC_Minutes,
 RTC_TimeStructure.RTC_Seconds);
printf("%s",buf);//输出日期到串口
printf("\r\n");//换行

bsp_DelayMS(990);
}
}


关键字:STM32F407  RTC时间 引用地址:STM32F407的RTC时间

上一篇:STM32F4 RTC的使用
下一篇:单片机采用RLE算法实现液晶屏显示图片

推荐阅读最新更新时间:2024-03-16 15:36

stm32f407硬件spi读写sst25vf闪存flash代码
void SPI_FLASH_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; SPI_InitTypeDef SPI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; /* Enable the SPI periph */ RCC_APB2PeriphClockCmd(FLASH_SPI_CLK, ENABLE); /* Enable SCK, MOSI and MISO GPIO clocks */ RCC_AHB1PeriphClockCmd(FLASH_SPI_SCK_GPIO_CLK | FL
[单片机]
STM32F407】第2章 ThreadX USBX协议栈介绍
2.1 初学者重要提示 1、 ThreadX是小型RTOS的巅峰之作,通过了各行各业的安全认证,并且大部分都是最高安全标准。作为 中间件 的USBX文件系统也通过了各种安全认证。 2.2 Express Logic公司介绍 ThreadX的作者是William lamie(同样是Nucleus RTOS的原始作者,于1990年发布)。1996的时候成立了Express Logic,并于1997发布首版ThreadX RTOS。 ThreadX4发布于2001年,ThreadX5发布于2005年,ThreadX6发布于2020年。 FileX – ThreadX的嵌入式文件系统于1999年发布首版。 NetX – Thr
[单片机]
【<font color='red'>STM32F407</font>】第2章 ThreadX USBX协议栈介绍
stm32f407多个定时器产生PWM(TIM1、TIM4、TIM9)
#include pwm.h u16 Right_Forward = 100; // PB7 TIM4_CH2 void TIM42_PWM_Init(u32 arr,u32 psc , u32 CCR2_Val ) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); GPIO_PinAFConfig(GP
[单片机]
stm32f407_hal库_工程模板
硬件平台: stm32f407ve 软件平台: win10 (OS Name: Microsoft Windows 10 Enterprise OS Version: 10.0.18363 N/A Build 18363) Keil5 5.26.2 HAL库版本: 2.14.0(目前下载的最新的) 1.在工程路径下建立一个空的文件夹 2.打开keil5,没有建立工程,应该示空白工程(我的版本是5.26.2)。 3.我现在安装的hal库的版本: 4. 新建工程 5. 选择工程保存的路径,就是第一步新建的文件夹
[单片机]
stm32f407_hal库_工程模板
STM32F407中断学习笔记
中断与事件的区别 相同点:中断和事件都是触发的一种,都是可以设置触发的; 异同点: 中断触发后必须有中断处理子程序IRQ handle,例如比如按键中断触发,实现一个LED的闪烁,可以在按键按下后,在中断处理程序中实现某个LED的电平反转 但在事件中,事件是没有中断处理子程序的,事件发生后,会直接发出一个脉冲信号给与之联动的操作,也可以同样实现LED电平的反转,只要有事件发生,就会有一个脉冲信号,这样的好处是,不需要CPU干预了,可以节省CPU的处理资源,相比中断处理,速度还更快,因为硬件的速度总是比软件处理快。 EXTI 功能框图 EXTI 可分为两大部分功能,一个是产生中断,另一个是产生事件,这两个功能从硬件上就有所
[单片机]
<font color='red'>STM32F407</font>中断学习笔记
stm32f407】I2C实验
一.I2C介绍 IIC(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,高速IIC总线一般可达400kbps以上。如图: I2C协议一共有6种协议信号 ① 空闲状态 ② 开始信号 ③ 停止信号 ④ 应答信号 ⑤ 数据的有效性 ⑥ 数据传输 1) 空闲信号 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场
[单片机]
【<font color='red'>stm32f407</font>】I2C实验
【STM32】stm32f407 + DS18B20 碰出不一样的火花
前言 之前在这篇文章:【STM32学习记录4】1.44寸TFT液晶屏显示字符、汉字和图片 卖了一个关子: 开发板:stm32f407VET6 开发环境:keil5 MDK 一、硬件基础——DS18B20 1.DS18B20简介 2.硬件连接 根据手册,DS18B20的硬件接法很简单,分为以下两种: 需要注意的是不管哪一种接法DQ上一定要接个上拉电阻 1.【寄生接法】 DS18B20_GND → to→ STM32F407_GND DS18B20_VCC → to→ STM32F407_GND DS18B20_DQ → to→ STM32F407_P** DQ引脚可接任意IO口 关于寄生方式,
[单片机]
【STM32】<font color='red'>stm32f407</font> + DS18B20 碰出不一样的火花
STM32F407的GPIO操作
/* #include stm32f4_discovery.h #include stm32f4xx_conf.h uint32_t Gb_TimingDelay; void Delay(uint32_t nTime); void main( ) { SysTick_Config(SystemCoreClock / 1000); //设置systemtick 一毫秒中断 RCC- AHB1ENR |= 0x00000008; //使能GPIOD 时钟 RCC- APB2ENR |= (1 14); //使能syscfg 时钟 GPIOD- MODER &= 0x00FFFFFF; //设置PD12,13,14,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved