- 博客(14)
- 收藏
- 关注
原创 第四章 RTC闹钟的唤醒功能
本文介绍了STM32进入待机模式前的配置步骤及两种唤醒方式。首先需要使能PWR时钟并解锁备份域,然后配置RTC闹钟或唤醒定时器。关键步骤包括清除唤醒标志防止误触发,以及可选地关闭GPIO时钟优化功耗。文中提供了两种唤醒实现:RTC闹钟唤醒(需计算精确时间)和WakeUp定时器唤醒(直接设置秒数)。两种方法最后都通过HAL_PWR_EnterSTANDBYMode()进入待机模式。该流程适用于需要低功耗定时唤醒的应用场景。
2025-11-06 13:51:45
128
原创 第三章 板载掉电时RTC连续计时功能实现
本文介绍了在硬件断电后保持RTC时钟持续运行的方法。通过在硬件上安装纽扣电池作为备用电源,并重写RTC初始化程序,使用备份寄存器保存初始化标志(RTC_INIT_FLAG)。程序启动时先检查该标志,确保RTC只初始化一次,避免重复重置。这样即使在系统重启后,RTC仍能保持原有时间运行,实现了不间断的时钟功能。
2025-11-06 13:51:14
274
原创 第二章 使用CUBEMX配置RTC
摘要: 本章介绍了使用STM32CubeMX配置RTC(实时时钟)的方法。RTC是STM32芯片内置的独立计时模块,可在主电源断开时通过备用电池维持运行,提供精确的时间和日期记录(时分秒、年月日)以及定时唤醒功能。配置步骤包括:1) 启用RTC功能;2) 设置初始时间和日期;3) 配置闹钟中断;4) 调整时钟源。RTC作为嵌入式系统的核心模块,为低功耗应用和事件管理提供可靠的时间基准。
2025-11-05 16:12:01
246
原创 第一章 初识STM32待机模式下的唤醒过程
本文详细解析了STM32微控制器在待机模式下通过RTC闹钟唤醒的实现过程。待机模式是STM32最低功耗模式之一,会关闭内核电压域,导致SRAM和寄存器内容丢失。唤醒过程分为三个阶段:进入待机前的RTC和闹钟配置、低功耗运行状态,以及硬件自动触发的唤醒复位。文章重点阐述了RTC闹钟设置、唤醒标志检测等关键步骤,并比较了待机模式与停机模式的区别。这种纯硬件唤醒机制使STM32能在保持极低功耗(约1-2μA)的同时实现定时唤醒功能,适用于对功耗敏感的应用场景。
2025-11-05 15:37:30
636
原创 关于STM32的flash读写操作在RAM中实现方式
STM32 Flash读写操作在RAM中实现的原理与方法摘要 本文详细解释了STM32嵌入式开发中Flash读写操作必须在RAM中执行的原因和实现方法。关键内容包括: 背景原理:Flash不能同时进行读取和执行操作,否则会导致硬件错误,类比为"站在木板上锯木板"的危险操作; 存储器区别:对比RAM(临时数据存储)和ROM(程序代码存储)的特性差异; 执行机制:分析CPU通过程序计数器从Flash读取指令的执行流程; 缓存机制:介绍STM32的I-Cache加速指令读取的原理; 实现方案:
2025-10-30 19:57:53
782
原创 一种将现有gitee或github的项目同步提交到gitlab的方法,且不影响其在gitee或github中的保存
本文介绍了一种将Gitee/GitHub项目同步到GitLab的方法,同时保留原有平台仓库。主要步骤包括:1)在GitLab创建群组和新项目;2)通过git remote add命令为本地仓库添加GitLab远程别名;3)使用git push推送代码到GitLab。文中还提供了常见问题解决方案,如分支名称冲突时改用master分支,以及如何重新配置远程仓库地址。该方法可实现单一项目在多平台的同步管理,避免多备份的繁琐操作。
2025-09-02 19:29:48
392
原创 将本地项目提交至Gitee
本文介绍了如何将本地项目推送至Gitee代码托管平台,主要包括以下步骤:首先在Gitee新建项目仓库;然后在本地项目文件夹初始化Git环境,配置用户信息;通过git add和commit命令准备文件;将本地仓库与远程关联后,执行强制更新和最终推送操作。该流程可实现代码备份、版本控制及团队协作,并利用Gitee的项目管理工具提高开发效率。文章配有详细的操作截图和命令示例,帮助开发者顺利完成项目托管。
2025-06-12 09:24:08
504
转载 图最短路径算法之迪杰斯特拉算法(Dijkstra)
求解单元点的最短路径问题:给定带权有向图G和源点v,求v到G中其他顶点的最短路径限制条件:图G中不存在负权值的边(这个可以通过弗洛伊德算法,后期将进行讲解)Dijkstra算法一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表的方式,这里均采用永久和临时标号的方式。注意该算法要求图中不存在负权边动态图ps: 动态图仅仅提供直观性,思考的时候不建议参考这个图。
2024-12-17 09:36:53
260
转载 Kconfig解释
当执行#make menuconfig时会出现内核的配置界面,所有配置工具都是通过读取"arch/$(ARCH)Kconfig"文件来生成配置界面,这个文件就是所有配置的总入口,它会包含其他目录的Kconfig注:对于uboot来讲,配置的总入口在uboot/Kconfig。
2024-12-11 16:38:42
285
原创 PX4添加自定义功能模块
PX4-Autopilot支持在modules模块中和examples模块中添加自定义模块,添加方式大同小异,这里将重点介绍modules中添加自定义模块的方法编译自定义程序块时,还需进行一步操作,即在编译列表中添加自定义程序块,添加方式:打开PX4-Autopilot/boards/px4/sitl路径下的default.px4board文件,将文件夹名称添加到52行的位置。注意:文件名大写同时注意如果是在examples下添加的文件夹,则这里需要写在文件的最末端。
2024-12-11 15:49:04
1757
原创 PX4仿真流程
由于empy的版本不匹配,我下载的empy版本为4.1,但是似乎4.0版本以上都会出现这个错误。将原来python环境中的"empy"卸载并重新安装旧版本的“empy”。这样再重新编译,应该就可以解决了。
2024-11-22 11:03:14
304
原创 gitee操作管理
上传更改代码的主要目的是为了对源码进行维护,对每次的更改记录进行保存,方便后续人员进行衔接开发。上传更改代码的流程如下:1.首先从gitee网站下载对应的分支代码。2.然后更具需求修改代码。3.执行git add . 指令,将当前目录全部添加到本地仓库中4.执行git commit -m “本次修改的内容描述”5.执行git push,将本地仓库与远端仓库同步。
2024-11-22 10:59:36
2207
原创 ubuntu系统FlightPlot日志分析软件安装教程
2.切换openjdk版本:sudo add-apt-repository ppa:openjdk-r/ppa,sudo apt-get update,sudo apt-get install openjdk-8-jdk。3.cd FlightPlot:sudo update-alternatives --config java(这里可以挨个试,直到编译成功,编译命令:ant)6.使用:cd FlightPlot,java -jar out/production/flightplot.jar。
2024-11-22 10:45:56
645
原创 ubuntu22.04搜狗输入法安装教程
linux安装搜狗拼音,首先点击“+”,然后取消勾选“only show current language”,并在下方输入框输入“so”,即可找到sogoupinyin点击ok。首先,打开 系统设置——区域和语言——管理已安装的语言——点击“添加或删除语言”下载安装包后,会弹出官方安装教程,这里在官方安装教程上进行部分修改。查看右上角,可以看到“搜狗”字样,在输入窗口即可且出搜狗输入法。没有“搜狗”字样,选择配置,将搜狗加入输入法列表即可。点击“应用到整个系统”,关闭窗口,重启电脑。
2024-07-22 15:05:03
2239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅