今天讲解“STM32F103RTC闹钟”,说起“闹钟”大家肯定不会陌生,基本上我们每天都在接触。今天说的“RTC闹钟”就是我们现实生活中的闹钟,只是今天站在技术知识的角度来看待“闹钟”。由于这一阶段定位的是基础的知识,所以今天提供的软件例程也是相对简单一点的,但明白今天的知识,相信自己都会写闹钟程序了,后期我会更新日历及闹钟的综合知识。
每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。
今天的软件工程下载地址(360云盘):
https://yunpan.cn/cSsN8ExwLMBbj访问密码 529c
STM32F10x的资料可以在我360云盘下载:
https://yunpan.cn/crBUdUGdYKam2访问密码 ca90
工程概要说明:今天的软件上电将时钟设置为0秒,闹钟设置为10秒,也就是说上电之后的第10秒会相应“闹钟中断”。测试的现象就是:平时间隔500ms串口打印数据“RTC Test..”伴随LED变化一次,但第10秒相应闹钟中断后,就有新的想象(串口打印“Alarm arrival.”伴随LED快速变化3次)。
关于“STM32F103RTC闹钟”我把重要的几点在下面分别讲述,若不明白,请关注微信公众号“EmbeddDeveloper”查阅或留言。
一、RCC时钟配置
该函数位于bsp.c文件下面;
使能RCC时钟:RCC_APB1Periph_PWR 和RCC_APB1Periph_BKP,这里的RCC和昨天的一样,同时还配置“RCC_RTCCLKSource_LSE”(在RTC_Configuration)。
二、RTC配置
该函数位于rtc.c文件下面;
分频值为32767,也就是1秒计数一次。使能RTC_IT_ALR闹钟中断,在设置的闹钟时间到来就会执行闹钟中断。
三、RTC初始化
该函数位于rtc.c文件下面;
这里主要讲解时间和闹钟初始化的值,都应该明白这个吧。
四、NVIC配置
该函数位于bsp.c文件下面;
必须配置NVIC,否则中断不会响应。
五、主函数
该函数位于main.c文件下面;
主要就是实现的现象。
六、今天的重点提示
重点主要在第二点“RTC配置”,需要细心阅读手册,结合代码,相信都能理解。