完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、MX配置
1. 设置LSE 2. 配置RTC - 激活时钟源 - 激活日历 - 配置2020年2月3日09:40:0 (HAL库的年份从2000年开始计算,Year变量可以填写0至99的数) 3. 使能闹钟中断(本人使用的是STM32F103C8T6,貌似没有带唤醒的中断,L1和F4才有) 4. 设置时钟树 注:没有外部的RTC晶振的话,也可以选择内部的LSI时钟,之前的配置一致。 二、软件生成的关键代码 三、 用户代码 1. 时间的设置及获取 RTC_TimeTypeDef nTime; //设置时间 BCD nTime.Hours = 0x20; nTime.Minutes = 0x30; nTime.Seconds = 0x10; HAL_RTC_SetTime(&hrtc,&nTime,RTC_FORMAT_BCD); //或者2进制设置 nTime.Hours = 20; nTime.Minutes = 30; nTime.Seconds = 10; HAL_RTC_SetTime(&hrtc,&nTime,RTC_FORMAT_BIN); //获取时间 HAL_RTC_GetTime(&hrtc,&nTime,RTC_FORMAT_BIN); printf(“Time--%d:%d:%drn”,nTime.Hours,nTime.Minutes,nTime.Seconds); 2. 定时中断 RTC_AlarmTypeDef aTime; //设置闹钟 aTime.Alarm = 0; aTime.AlarmTime.Hours = 0x09; aTime.AlarmTime.Minutes = 0x41; aTime.AlarmTime.Seconds = 0x0; HAL_RTC_SetAlarm_IT(&hrtc,&aTime,RTC_FORMAT_BCD); //回调函数 void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *nhrtc) //句柄需要取新名避免与hrtc冲突 { HAL_RTC_GetTime(nhrtc,&nTime,RTC_FORMAT_BIN); printf(“Alarm--%d:%d:%drn”,nTime.Hours,nTime.Minutes,nTime.Seconds); //以下的设置是实现每间隔1分钟响应一次中断-------------------- nTime.Minutes+=1; if(nTime.Minutes==60) { nTime.Hours += 1; if(nTime.Hours == 24) { nTime.Hours = 0; } nTime.Minutes=0; } aTime.AlarmTime = nTime; HAL_RTC_SetAlarm_IT(&hrtc,&aTime,RTC_FORMAT_BIN); //-------------------------------------------------------- } 说明:闹钟中断如果没有修改,则会在每天定时响应一次中断。 附:回调函数的配置方法 1. 在stm32f1xx_it.c中找到对应的中断响应函数 2. 选中函数后按F3 或者 右键点击 Open Declaration 跳转至该函数定义 找到会被调用到的回调函数 HAL_RTC_AlarmAEventCallback(hrtc) 可以继续探索下去,这个函数已经有定义,但在之前有 _ _ weak ,意味着用户有定义则覆盖。 用户自定义和的回调函数结构就按照上图代码。需要去除__weak 以及 { } 内的内容。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
568浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:01 , Processed in 0.855278 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号