你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1927|回复: 2

【旺宝电子STM32F107金龙开发板】基础例程教程第RTC

[复制链接]

10

主题

61

回帖

0

蝴蝶豆

中级会员

最后登录
1970-1-1
发表于 2015-5-19 15:11:18 | 显示全部楼层 |阅读模式
第七章 金龙107——RTC

7.1 RTC简介:
    RTC是“Real  Time Clock”的简称,意为实时时钟,想必各位读者都非常熟悉这一模块(例如DS1302),事实上,RTC模块在电子产品上的应用非常广泛,从大型的工业机器到个人电脑、家用电器甚至是廉价的电子手表,都不乏RTC的身影。
    STM32微控制器向用户提供了一个简易的RTC单元,之所以说其简易,因为其本质上是一个独立的32位定时器,没有类似DS1302的日历功能(相应的软件配置也可实现)
RTC使用的时钟源有三种,分别为高速外部时钟的 128 分频:HSE/128;低速内部时钟 LSI;使 用HSE 分频时钟或 LSI 的话,在主电源 VDD 掉电的情况下,这两个时钟来源都会受到影响,因此没法保证 RTC 正常工作。因此 RTC 一般使用  低速外部时钟 LSE,频率为实时时钟模块中常用的 32.768KHz,这是因为 32768 = file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps254.tmp.png,分频容易实现,所以它被广泛应用到 RTC 模块。在主电源 VDD 有效的情况下(待机)RTC 还可以配置闹钟事件使 STM32 退出待机模式。
7.2实验说明:
金龙107开发板V1.0一块,J-linkV8keil4.23STM3.2库文件V3.5.0,USB数据线一根
3.2寸彩屏一块(SSD1298),串口线一根在本实验中,主要使用STM32F107RTC来实现数字时钟设计,通过串口打印输出到上位机
主要跳线帽:JP4JP7都接在2-3上,JP10JP11接在2-3
7.3硬件说明:
本实验主要涉及的硬件是3.2寸彩屏的显示和USART1的使用,
7.4程序说明:
本程序设计要点如下:
    ①配置RCC寄存器组,打开APB1总线上的PWRBKP设备时钟,开启LSE(外部低速晶振,典型值为32.768khz)并选择其为RTC计时时钟。
    ②配置GPIOUSART寄存器组。
    ③配置RTC寄存器组,使能秒中断,设置        RTC时钟分频值为32767。
    ④配置NVIC,开启RTC秒事件中断。
    本实验配置主要是对于RTC的配置,如果你是第一次启动的话,根据串口提示,他会首先让你设置时间,在你不断电,复位的时候不需要从新设置时间,一旦断电,则时间就需要重新通过串口设置,RTC的配置如下:
图片4.png
图片3.png
注意:
    我们要区分RTC的两个时钟,一是来自APB1总线的PCLK1时钟(36MHz,另一个是来自外部低速晶振LSE所提供的32.768kHz时钟。其中PCLK1时钟是供给STM32打开以及存取备份电源控制区的写保护用的,而写保护开关包含在BKP以及PWR寄存器组中,来自LSE的时钟则仅给RTC提供给32位定时器计数使用。
本例中也使能了RTC秒中断,每秒中断一次,置标志位为1,主函数检测到该标志位,则把实时时间打印输出。进入中断之后,判断中断源,清除中断标志位。我们从这里不难看出,RTC进行一次计时的时间T=32767+1/32.768kHz=1s。这样就可以得到时间间隔为秒的中断事件,同时读者也应该认识到为什么会有32.768kHz这样频率的晶振存在_____当某个分频寄存器的位数达到15位以上时,就可以提供至少为file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps257.tmp.png=32768的分频值,配合32.768kHz的晶振就可以得到1Hz的频率,即1s时间周期,因此,32.768kHz的晶振经常用于带有实时时钟的系统中。
图片2.png
如果内核要对 RTC 寄存器进行任何的写操作,在内核发出写指令后,RTC模块在 3 RTCCLK 时钟之后,才开始正式的写 RTC 寄存器操作。我们知道RTCCLK 的频率比内核主频低得多,所以必须要检查 RTC 关闭操作标志位RTOFF,当这个标志被置 1 时,写操作才正式完成。这里调用了库函数RTC_WaitForLastTask();来确保写操作的完成。
同时本例中使用到了USART1的收发功能,断电之后首次启动,设置实时时间,和程序运行时,打印输出实时时间。
7.5实验现象:
连接串口线,设置好串口调试助手,注意端口要对应,彩屏蓝色字体显示“Gold Dragon ”, 红色字体显示:"RTC example:",其实彩屏在本例中,作用并不大,可忽略,我们在输入框里输入1,连续回车6次,程序就开始计时并通过RS232把时间发送到串口调试助手,设置和实验现象如下图
图片1.png

【07】金龙107_RTC.rar (2.46 MB, 下载次数: 10)
<
回复

使用道具 举报

41

主题

2476

回帖

282

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2015-5-19 23:14:20 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

55

回帖

0

蝴蝶豆

初级会员

最后登录
2016-3-2
发表于 2015-6-1 20:14:50 | 显示全部楼层
谢谢分享。。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版