一、在cubemx下RTC配置调试实例测试

一、rtc的时钟有lse提供。
在这里插入图片描述
二、选择rtc唤醒与闹钟功能
在这里插入图片描述
内部参数介绍
在这里插入图片描述
闹钟配置
在这里插入图片描述
在配置时间时,注意将时间信息存储起来,防止复位后时间重新配置。

	if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)!= 0x55AA)//判断标志位是否配置过,没有则进入if进行配置	{			sTime.Hours = 0x23;sTime.Minutes = 0x59;sTime.Seconds = 0x55;sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;sTime.StoreOperation = RTC_STOREOPERATION_RESET;if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK){Error_Handler();}sDate.WeekDay = RTC_WEEKDAY_FRIDAY;sDate.Month = RTC_MONTH_OCTOBER;sDate.Date = 0x25;sDate.Year = 0x24;if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK){Error_Handler();}HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR0, 0x55AA);//写入标志位HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, sDate.Year );//写入标志位	HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, sDate.Date);//写入标志位HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR3, sDate.Month);//写入标志位	HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR4, sDate.WeekDay);//写入标志位HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR5, sTime.Hours);//写入标志位	HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR6, sTime.Minutes);//写入标志位HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR7, sTime.Seconds);//写入标志位	}/** Enable the Alarm A*/sAlarm.AlarmTime.Hours = 0x0;sAlarm.AlarmTime.Minutes = 0x0;sAlarm.AlarmTime.Seconds = 0x5;sAlarm.AlarmTime.SubSeconds = 0x0;sAlarm.AlarmTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;sAlarm.AlarmTime.StoreOperation = RTC_STOREOPERATION_RESET;sAlarm.AlarmMask = RTC_ALARMMASK_DATEWEEKDAY;//每天提示,当开启掩码功能只在设定的星期和日期提示sAlarm.AlarmSubSecondMask = RTC_ALARMSUBSECONDMASK_NONE;sAlarm.AlarmDateWeekDaySel = RTC_ALARMDATEWEEKDAYSEL_DATE;//星期或日期sAlarm.AlarmDateWeekDay = 0x1;//日期sAlarm.Alarm = RTC_ALARM_A;if (HAL_RTC_SetAlarm_IT(&hrtc, &sAlarm, RTC_FORMAT_BCD) != HAL_OK){Error_Handler();}/** Enable the WakeUp*/if (HAL_RTCEx_SetWakeUpTimer_IT(&hrtc, 0, RTC_WAKEUPCLOCK_CK_SPRE_16BITS) != HAL_OK){Error_Handler();}

在这里插入图片描述
开启电源时钟

void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle)
{RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};if(rtcHandle->Instance==RTC){/* USER CODE BEGIN RTC_MspInit 0 */RCC_OscInitTypeDef RCC_OscInitStruct;__HAL_RCC_PWR_CLK_ENABLE();//使能电源时钟PWRHAL_PWR_EnableBkUpAccess();//取消备份区域写保护RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_LSE;//LSE配置RCC_OscInitStruct.PLL.PLLState=RCC_PLL_NONE;RCC_OscInitStruct.LSEState=RCC_LSE_ON;                  //RTC使用LSEHAL_RCC_OscConfig(&RCC_OscInitStruct);/* USER CODE END RTC_MspInit 0 */
...
}在复位函数中添加关闭时钟配置
void HAL_RTC_MspDeInit(RTC_HandleTypeDef* rtcHandle)
{if(rtcHandle->Instance==RTC){/* USER CODE BEGIN RTC_MspDeInit 0 *//* USER CODE END RTC_MspDeInit 0 *//* Peripheral clock disable */__HAL_RCC_RTC_DISABLE();/* RTC interrupt Deinit */HAL_NVIC_DisableIRQ(RTC_WKUP_IRQn);HAL_NVIC_DisableIRQ(RTC_Alarm_IRQn);/* USER CODE BEGIN RTC_MspDeInit 1 */HAL_PWR_DisableBkUpAccess();__HAL_RCC_PWR_CLK_DISABLE();/* USER CODE END RTC_MspDeInit 1 */}
}

在闹钟回调和唤醒回调中添加

//RTC闹钟A中断处理回调函数
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
{printf("ALARM A!\r\n");
}
void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
{RTC_TimeTypeDef RTC_TimeStruct;RTC_DateTypeDef RTC_DateStruct;uint8_t buf[40];HAL_RTC_GetTime(hrtc,&RTC_TimeStruct,RTC_FORMAT_BIN);sprintf((char*)buf,"Time: %02d:%02d:%02d",RTC_TimeStruct.Hours,RTC_TimeStruct.Minutes,RTC_TimeStruct.Seconds);printf("%s\r\n",buf);HAL_RTC_GetDate(hrtc,&RTC_DateStruct,RTC_FORMAT_BIN);sprintf((char*)buf,"Date: 20%02d-%02d-%02d  Day %d",RTC_DateStruct.Year,RTC_DateStruct.Month,RTC_DateStruct.Date,RTC_DateStruct.WeekDay);printf("%s\r\n",buf);	
}

闹钟正常提示
在这里插入图片描述
复位和掉电后时间依旧正常,没有进行重置
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/460424.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 复合索引测试

对MySQL复合索引结合具体示例,各条件下索引使用情况的运行结果及分析。 目录 复合索引示例 创建表 新增数据 查询数据 选项A SQL查询 explain分析 选项B SQL查询 explain分析 选项C SQL查询 explain分析 选项D SQL查询 explain分析 选项E SQL查询…

JavaFx -- chapter05(多用户服务器)

chapter05(线程池-多用户服务器) 教学与实践目的 学会服务器支持多用户并发访问的程序设计技术。 多用户服务器是指服务器能同时支持多个用户并发访问服务器所提供的服务资源,如聊天服务、文件传输等。 第二讲的TCPServer是单用户版本,每次只能和一个…

初体验鸿蒙 HarmonyOS NEXT开发

上个星期三就下载了鸿蒙 HarmonyOS NEXT,安装好了后测试了一下,感觉界面和功能设计与IntelliJ IDEA很像,对初学者非常友好,所见即所得。不知道什么原因,写了代码后测试起来很慢,简单测试后就没有再动。 今天…

《DIY项目之“一只眼狗链”》:视频方案

项目背景 《DIY项目之“一只眼狗链”》合集主要记录完成一个DIY项目的所有过程。该合集预计更新频率为2~3周一篇(同样属于一边做一边记录发布,时间上主要涉及PCB绘板、零部件采购、样品制作、编程等,存在一定的不可控性)。 当前项…

Date工具类详细汇总-Date日期相关方法

# 1024程序员节 | 征文 # 目录 简介 Date工具类单元测试 Date工具类 简介 本文章是个人总结实际工作中常用到的Date工具类,主要包含Java-jdk8以下版本的Date相关使用方法,可以方便的在工作中灵活的应用,在个人工作期间频繁使用这些时间的格…

WPF拖拽交互全攻略及实现自定义拖拽控件及数据交换技巧解析

目录 1. 基本概念2 . 实现拖拽功能概述需要要实现基本的拖放,完成以下任务:其他操作 示例3.1 设置拖拽源,拖拽开始3.2 设置拖拽效果DragDropEffects 3.3 设置放置目标,处理拖拽数据拖拽输入DragEnter事件DragOver事件拖拽离开Drag…

ubuntu 22.04网线连接无ip、网络设置无有线网界面(netplan修复)

目前遇到过树莓派和其他设备安装 ubuntu22.04, 使用有线网络一段时间(可能有其他软件安装导致)造成有线网络未启动无ip分配的问题。 1、动态分配 通过命令行启动dhcpclient实现 网络eth0存在异常,网口灯电源和信号灯均点亮&am…

开关灯问题(c语言)

样例&#xff1a;10 10 &#xff0c;输出&#xff1a;1&#xff0c;4&#xff0c;9 5 5 &#xff0c;输出&#xff1a;1&#xff0c;4 代码如下 #include<stdio.h> //引入bool值的概念 #include<stdbool.h> int main() {int n 0;//n为灯的数量int m 0;…

【Android14 ShellTransitions】(八)播放动画

书接上回&#xff0c;话说当WMCore部分走到了Transition.onTransactionReady&#xff0c;计算完参与动画的目标&#xff0c;构建出TransitionInfo后&#xff0c;接下来就把这个包含了动画参与者的TransitionInfo发给了WMShell&#xff0c;然后就该播放动画了&#xff0c;这部分…

git快速合并代码dev->master

需求&#xff1a; 日常开发都是在dev分支进行开发&#xff0c;但是dev代码开发测试完成后&#xff0c;需要将dev代码合到master主分支上 开始合并代码&#xff1a; 一、场景 一个代码仓库&#xff0c;包含两个分支&#xff0c;一个是master&#xff0c;另一个是dev&#xff1b…

gitblit 学习-hook功能

hook功能 hook是什么 git hooks是git提供的&#xff0c;在发生特定事件时&#xff0c;允许用户添加自定义代码&#xff08;或操作&#xff09;的方式。 就像Vue中组件的生命周期钩子&#xff0c;比如&#xff0c;你想在vue组件创建后输出一行log, 你可能会这么写 有什么用&a…

Android Input的流程和原理

Android Input事件机制 Android系统是由事件驱动的&#xff0c;而Input是最常见的事件之一&#xff0c;用户的点击、滑动、长按等操作&#xff0c;都属于Input事件驱动&#xff0c;其中的核心就是InputReader和InputDispatcher。InputReader和InputDispatcher是跑在system_serv…

Jmeter基础篇(19)JSR223预处理器

前言 JSR223预处理器是Apache JMeter中的一个组件&#xff0c;它允许用户使用任何支持Java Scripting API (JSR 223) 的脚本语言来执行预处理任务。这个功能非常强大&#xff0c;因为它让测试人员能够利用如Groovy、JavaScript&#xff08;Nashorn引擎&#xff09;、BeanShell…

轻松实现金蝶与旺店通数据无缝对接的完整解决方案

【金蝶】采购入库单对接【旺店通】委外入库单_合并 在企业信息化系统中&#xff0c;数据的高效流转和准确对接是确保业务顺畅运行的关键。本文将分享一个实际案例&#xff0c;展示如何通过轻易云数据集成平台实现金蝶云星空与旺店通企业奇门之间的数据无缝对接。具体方案为&am…

基于SpringBoot的汽车票网上预订系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

前端好用的网站分享——CSS(持续更新中)

1.CSS Scan 点击进入CSS Scan CSS盒子阴影大全 2.渐变背景 点击进入color.oulu 3.CSS简化压缩 点击进入toptal 4.CSS可视化 点击进入CSS可视化 这个强推&#xff0c;话不多说&#xff0c;看图! 5.Marko 点击进入Marko 有很多按钮样式 6.getwaves 点击进入getwaves 生…

【K8S系列】Kubernetes 中 Service IP 分配 问题及解决方案【已解决】

在 Kubernetes 中&#xff0c;LoadBalancer 类型的 Service 允许用户轻松地将应用暴露给外部流量。它自动创建一个云负载均衡器并分配一个外部 IP 地址。然而&#xff0c;在某些情况下&#xff0c;LoadBalancer 类型的 Service 可能未能成功分配 IP 地址&#xff0c;导致外部无…

Tomcat servlet response关于中文乱码的经验

前言 最近修改老项目项目&#xff0c;使用zuul网关返回的中文内容乱码了&#xff0c;如果使用GBK或者GB2312编码确正常显示&#xff0c;稍微实验了一下&#xff0c;发现里面很多细节&#xff0c;毕竟Springboot对我们做了很多事情&#xff0c;而且当我们使用不同的模式会出现很…

微服务之间调用,OpenFeign传递用户(RequestInterceptor接口)

场景&#xff1a;微服务之黑马商城项目-登录拦截器在网关完成用户的校验&#xff0c;并将用户信息&#xff08;用户id&#xff09;存入请求头&#xff0c;假设将购物车里面的商品进行结算就会生成订单并清空购物车&#xff0c;这里涉及到了交易服务模块远程调用购物车模块&…

Java中String的length与Oracle数据库中VARCHAR2实际存储长度不一致的问题

目录 一、根本原因 二、解决方案 一、根本原因 Oracle数据库新增数据的时候报如下错误&#xff1a; 先给大家看个小案例&#xff0c;这样更好去理解&#xff0c;下面是一段测试代码&#xff1a; 这里面我分别列举了三种字符串&#xff0c;中文&#xff0c;英文和数字以及两种…