当前位置: 首页 > news >正文

一、在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);	
}

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

相关文章:

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

一、rtc的时钟有lse提供。 二、选择rtc唤醒与闹钟功能 内部参数介绍 闹钟配置 在配置时间时,注意将时间信息存储起来,防止复位后时间重新配置。 if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)! 0x55AA)//判断标志位是否配置过,没有则进…...

【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin

【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像:2、启动镜像3、访问服务4、参考文档 Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像: docker pull nyanmisaka/jellyfin:230901-amd64jellyfin 10.8.10版本&#xff…...

合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能

文章目录 写在前面图像内容安全图像篡改应用场景伪造文档/证照检测伪造人脸检测 GAI时代系统构建加速通用文档解析 合合信息 写在前面 随着人工智能技术的飞速发展,生成式AI已经悄然步入了我们的日常生活,以其强大的内容生成能力,重塑了信息…...

京东双十一高并发场景下的分布式锁性能优化

背景 在电商领域,尤其是像京东双十一这样的大促活动,系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新,如果处理不当,很容易出现库存超卖、数据不一致等问题。分布式锁作为一种有效的解决方案,能够在多…...

华为ICT题库-AI 人工智能部分

1178、以下哪个选项是华为的云端AI芯片?(云服务考点) (A)Inferentia (B)MLU100 (C)Cloud TPU (D)Ascend 910 答案:D 解析:华为的云端AI芯片被称为Ascend芯片系列,其中Ascend 910是其旗舰产品。Ascend 910…...

React Native 修改安卓应用图片和名称

在React Native(RN)项目中,修改安卓应用图标和名称通常涉及对Android原生代码的一些修改。以下是详细步骤: 修改应用图标 准备图标资源: 创建或获取你想要的图标,并确保它们符合Android的图标规范&#xf…...

普推知产:商标初审已下,商标申请通过如何高些!

近期下来一批商标注册的初步审公告通知书,一些客户对商标下证要求比较高的,普推知产商标老杨发现,要像下证高核心还是在于名称,名称起好备用的多,让商标专业人士经检索后层层过滤后提报,通过会好很多。 普推…...

HICP--2

在area 0的路由器只生成 area 0 的数据库,只在area 1 的一样。但是既在又在的生成两个 area的 LSDB 一、区域间三类LSA 在OSPF(Open Shortest Path First)协议中,区域间三类LSA(Link-State Advertisement&#xff09…...

sheng的学习笔记-AI基础-正确率/召回率/F1指标/ROC曲线

AI目录:sheng的学习笔记-AI目录-CSDN博客 分类准确度问题 假设有一个癌症预测系统,输入体检信息,可以判断是否有癌症。如果癌症产生的概率只有0.1%,那么系统预测所有人都是健康,即可达到99.9%的准确率。 但显然这样的…...

Linux -- 共享内存(2)

目录 命令 ipcs -m : 命令 ipcrm -m shmid: 共享内存的通信: 为什么共享内存更高效? 代码: ShmClient.cc: ShmServer.cc: 结果: 如何让共享内存实现同步? 代码&a…...

云函数实现发送邮件,以qq邮箱为例

云函数实现发送邮件,前端传参调用发送邮件即可。以qq邮箱为例。 1、开启qq邮箱的smtp服务并且生成授权码,操作界面如下图: 2、在腾讯云新建一个云函数代码如下: const nodemailer require("nodemailer");// 云函数入口函数 export…...

Kafka如何控制消费的位置?

大家好,我是锋哥。今天分享关于【Kafka如何控制消费的位置?】面试题?希望对大家有帮助; Kafka如何控制消费的位置? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中,控制消费位置主要通过以下几个机制来实…...

python爬虫——Selenium的基本使用

目录 一、Selenium的介绍 二、环境准备 1.安装Selenium 2.安装WebDriver 三、元素定位 1.常用定位元素的方法 2. 通过指定方式定位元素 四、窗口操作 1.最大化浏览器窗口 2.设置浏览器窗口大小 3.切换窗口或标签页 切换回主窗口 4. 关闭窗口 关闭当前窗口 关闭所…...

【Linux】【xmake】安装 + C/C++常用项目配置

文章目录 0. 环境准备1. 子命令create - 快速创建项目build - 构建程序config - 配置编译需要的参数show - 查看当前工程基本信息update - 程序自更新 2. C/C 项目常用配置2.1 项目目标类型2.2 添加宏定义2.3 头文件路径和链接库配置2.4 设置语言标准2.5 设置编译优化2.6 添加源…...

Android 添加菜单开关控制Camera相机和第三方相机

本文主要通过SystemProperties系统属性和Settings.System存储数据库的状态进行判断,从而实现控制相机 /vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml <!--camera--> <string name="manager_camera_switch"&…...

【Java知识】使用jacoco实现代码覆盖率测试

文章目录 1. 添加JaCoCo插件到项目2. 配置Maven Surefire Plugin3. 执行测试并生成报告4. 查看覆盖率报告注意事项 要使用JaCoCo实现代码覆盖率测试&#xff0c;你需要遵循以下步骤&#xff1a; 1. 添加JaCoCo插件到项目 在Maven项目的pom.xml文件中添加JaCoCo插件。这允许你执…...

道路车辆功能安全 ISO 26262标准(9-2)—面向汽车安全完整性等级 (ASIL) 和安全的分析

写在前面 本系列文章主要讲解道路车辆功能安全ISO26262标准的相关知识&#xff0c;希望能帮助更多的同学认识和了解功能安全标准。 若有相关问题&#xff0c;欢迎评论沟通&#xff0c;共同进步。(*^▽^*) 1. 道路车辆功能安全ISO 26262标准 9. ISO 26262-9 面向汽车安全完整…...

hutool常用方法

1、树结构工具-TreeUtil 构建Tree示例 package com.sl.transport.common.util;import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNode; import cn.hutool.core…...

CloudSat数据产品数据下载与处理 (matlab)

CloudSat数据下载 这个数据我之前和CALIPSO弄混了&#xff0c;后来发现它们虽然是同一个火箭上去&#xff0c;但是数据产品却在不同的平台下&#xff0c;CloudSat的数据更加关注云的特性&#xff0c;包括云覆盖、云水当量、云分类数据。 数据网址在&#xff1a;CloudSat网址 …...

LDR6500 一拖三快充线的定义与特点

定义&#xff1a;LDR6500 一拖三快充线是一种具有 Type-C 接口的充电线&#xff0c;它的最大特点是可以同时连接三个设备进行快速充电。 特点&#xff1a; 高效充电&#xff1a;采用先进的快充技术&#xff0c;能够快速为设备充电&#xff0c;大大缩短充电时间。同时&#xf…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图&#xff0c;该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序&#xff0c;确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数&#xff0c;分别表示n 和 e 的值&#xff08;1…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

微服务通信安全:深入解析mTLS的原理与实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言&#xff1a;微服务时代的通信安全挑战 随着云原生和微服务架构的普及&#xff0c;服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...