STM32 RTC测试成功 _只显示 时分秒

发布者:闪耀星空最新更新时间:2016-08-21 来源: eefocus关键字:STM32  RTC测试  时分秒 手机看文章 扫描二维码
随时随地手机看文章
  STM32  RTC测试成功 _只显示 时分秒 - liuyunqian@yeah - 嵌入式学习

源文件位置 STM32F10x_StdPeriph_Lib_V3.1.2\Project\STM32F10x_StdPeriph_Examples\RTC\Calendar

仔细阅读其中的readme 
摘抄如下
@par How to use it ? 
In order to make the program work, you must do the following :
- Create a project and setup all project configuration
- Add the required Library files :
- stm32f10x_gpio.c 
- stm32f10x_rcc.c 
- stm32f10x_rtc.c 
- stm32f10x_bkp.c 
- stm32f10x_pwr.c 
- misc.c 
- stm32f10x_usart.c
- stm32f10x_exti.c
- system_stm32f10x.c (under Libraries\CMSIS\Core\CM3)
- stm32_eval.c (under Utilities\STM32_EVAL)
- Edit stm32f10x.h file to select the device you are working on.
- Edit stm32_eval.h file to select the evaluation board you will use.

根据之前的经验 建立工程 
  STM32  RTC测试成功 _只显示 时分秒 - liuyunqian@yeah - 嵌入式学习
options中建议选上 use microLIB
  STM32  RTC测试成功 _只显示 时分秒 - liuyunqian@yeah - 嵌入式学习


现在的时间,睡觉啦
  STM32  RTC测试成功 _只显示 时分秒 - liuyunqian@yeah - 嵌入式学习

程序地址

RTC测试成功
转自Tony嵌入式论坛,地址:http://www.cevx.com/bbs/thread-26329-1-1.html
 

=========================================================

关键代码分析

/**
* @brief Returns the time entered by user, using Hyperterminal.
* @param None
* @retval Current time RTC counter value
*/
uint32_t Time_Regulate(void)
{
uint32_t Tmp_HH = 0xFF, Tmp_MM = 0xFF, Tmp_SS = 0xFF;

printf("\r\n==============Time Settings=====================================");
printf("\r\n Please Set Hours");

while (Tmp_HH == 0xFF)
{
    Tmp_HH = USART_Scanf(23);//若超级终端输入的数据大于23,超级终端提示出错
}
printf(": %d", Tmp_HH);
printf("\r\n Please Set Minutes");
while (Tmp_MM == 0xFF)
{
    Tmp_MM = USART_Scanf(59);
}
printf(": %d", Tmp_MM);
printf("\r\n Please Set Seconds");
while (Tmp_SS == 0xFF)
{
    Tmp_SS = USART_Scanf(59);
}
printf(": %d", Tmp_SS);

/* Return the value to store in RTC counter register */
return((Tmp_HH*3600 + Tmp_MM*60 + Tmp_SS));
}

--------------------------------------

/**
* @brief Displays the current time.
* @param TimeVar: RTC counter value.
* @retval None
*/
void Time_Display(uint32_t TimeVar)
{
uint32_t THH = 0, TMM = 0, TSS = 0;

/* Compute hours */
THH = TimeVar / 3600;
/* Compute minutes */
TMM = (TimeVar % 3600) / 60;
/* Compute seconds */
TSS = (TimeVar % 3600) % 60;

printf("Time: %0.2d:%0.2d:%0.2d\r", THH, TMM, TSS);//\r回车,光标移到本行首
}

关键字:STM32  RTC测试  时分秒 引用地址:STM32 RTC测试成功 _只显示 时分秒

上一篇:STM32 万年历 显示年月日 时分秒 星期
下一篇:stm32 CAN LoopBack 自测模式成功

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

STM32开发系列之寄存器(一)按键控制LED灯
入门学习STM32开发,首先要选择一种开发方式。STM32的开发方式主要有标准库开发、寄存器开发和HAL库开发(这个我没使用过,不太了解)。比较多的人选择的开发方式是库开发,使用这两种方式比较方便,但因经过函数封装,对底层的理解不足。由于我入门也是由标准库开发入门的,所以这里想专门写一下寄存器开发,边写边学习,欢迎一起探讨。 1、一般写法 注:采用的STM32F103ZET6芯片 ST官方提供了stm32f10x.h的头文件,里面有各个寄存器的地址定义,因此可以直接操作寄存器来对IO口进行配置,下面就以案件控制LED灯为例。 在stm32f10x.h头文件里有以下的IO口的宏定义及结构体 ①假设LED灯接在GPIOB5
[单片机]
<font color='red'>STM32</font>开发系列之寄存器(一)按键控制LED灯
STM32学习总结之时钟
学习内容: 这个图说明了STM32的时钟走向,从图的左边开始,从时钟源一步步分配到外设时钟。从时钟频率来说,又分为高速时钟和低速时钟,高速时钟是提供给芯片主体的主时钟,而低速时钟只是提供给芯片中的RTC(实时时钟)及独立看门狗使用。 从芯片角度来说,时钟源分为内部时钟与外部时钟源 ,内部时钟是在芯片内部RC振荡器产生的,起振较快,所以时钟在芯片刚上电的时候,默认使用内部高速时钟。而外部时钟信号是由外部的晶振输入的,在精度和稳定性上都有很大优势,所以上电之后我们再通过软件配置,转而采用外部时钟信号。 所以,STM32有以下4个时钟源: 高速外部时钟(HSE):以外部晶振作时钟源,晶振频率可取范围为4~16MHz,我们一般采用8M
[单片机]
<font color='red'>STM32</font>学习总结之时钟
STM32的中断机制 stm32中断方式有几种
STM32的中断机制stm32中断方式有几种 中断机制在单片机中是很重要的环节,中断代码默认地从上往下执行,遇到特定条件或特定语句,将按照指定的程序跳转。而STM32单片机的中断是有两层控制器分别控制的,若采用中断机制,必须同时配置内核和芯片。 在STM32单片机中执行中断机制主要有三个函数,分别是: 1.配置NVIC_Config()函数 2.配置EXTI_Config()函数 3.自行编写中断服务函数 NVIC是嵌套向量中断控制器,主要控制整个单片机芯片中断相关的功能,跟内核紧密耦合。配置NVIC_Config()函数是为单片机提供选择中断源的优先级及打开中断通道,主要由配置NVIC初始化结构体NVIC_InitStr
[单片机]
STM32中NVIC(嵌套向量中断控制)的理解
NVIC,中文名嵌套中断向量控制器,是Cortex-M3系列控制器内部独有集成单元,与CPU结合紧密,降低中断延迟时间并且能更加高效处理后续中断。举个例子,比如火车站买票,那些火车站的规章制度就是NVIC,规定学生和军人有比一般人更高优先级,它们则给你单独安排个窗口,同学与同学之间也有区别,那就是你也得排队,也就是你的组别(抢断优先级)和你的排队序号(响应优先级)决定你何时能买到票。 抢断优先级,顾名思义,能再别人中断是抢占别人中断,实现中断嵌套。响应优先级则只能排队,不能抢在前面插别人的对,即不能嵌套。 STM32中指定优先级的寄存器为4位,其定义如下: 第0组:所有4位用于指定响应优先级 第1组:最高1位用于
[单片机]
STM32 标准固件库的下载,文件介绍和工程的建立(综合)
前言 博文基于ARM Cortex-M3内核的STM32F103ZET6芯片和标准3.5.0库; 博文介绍标准库中个文件夹的含义和以及一个简单工程的建立; 如有不足之处还请博友多多指教; 标准库的下载 标准库的获取方式: 第一步:进入官网:https://www.st.com/content/st_com/zh.html 第二步:依次进行下列操作 在下面这个表格里,能看到很多系列的标准库,可以根据自己需求选择;这里我选择STM32F10x系列; (下面这个表格是根据芯片选择的,或许有人会有一个疑问:为什么选择了第三个,明明第一个也是支持STM32F10x的,原因就是版本不同,第三个是目前最新的版本,第一个是过去的版本)
[单片机]
<font color='red'>STM32</font> 标准固件库的下载,文件介绍和工程的建立(综合)
循环冗余校验技术,以及在STM32中的一些具体使用体会
在嵌入式产品应用中,常常需要应对系统数据在存储或者传输过程中的完整性问题。 所谓完整性是指数据在其生命周期中的准确性和一致性。这些数据可能存储在EEPROM/FLASH里,或者基于通信协议进行传输,它们有可能因为外界干扰或者程序错误,甚至系统入侵而导致被破坏。如果这些数据在使用前不做校验,产品功能可能失效。在一些特定领域,严重时可能会危及用户财产甚至生命安全。 本文就来聊聊使用较为广泛的循环冗余校验技术,以及在STM32中的一些具体使用体会。 所谓循环冗余校验(CRC:Cyclic Redundancy Check)是一种错误检测算法,通常在通信协议中或存储设备中用于检测原始数据的意外变动。可以简单理解成对有用数据按照一定的算法进
[单片机]
循环冗余校验技术,以及在<font color='red'>STM32</font>中的一些具体使用体会
大神教你如何快速使用DMA处理ADC
ADC: 1.STM32内部的ADC模块有三个ADC1,ADC2,ADC3,他们彼此独立,所以可以进行同步采样。 2ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生,要在RCC_CFGR配置,再ADC自己的寄存器中在没有时钟分频的配置位。 3.ADC转换时间: STM32F103xx增强型产,时钟为56MHz时为1μ s( 时钟为72MHz为1.17 μ s) 4.ADC的转换精度默认设置为12位,输入范围:ADC输入范围:V REF-≤ VIN≤ VREF+ 5.共有18个通道,其中外部16个通道,内部两个通道,内部温度传感器连接在ADC1_IN16,内部参考电压V REFINT连接在ADC1_IN17 6
[单片机]
大神教你如何快速使用DMA处理ADC
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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