一个未初始化的局部变量引起的BUG(二)-PC13引脚异常

news2025/1/11 2:53:34

现象:

STM32F030C8中PC13引脚异常,配置为GPIO输出,有时编译后出现异常,表现如下:
1、不能输出高电平。
2、烧回原来正确的版本固件,也不能输出高电。
3、过一段时间后,能恢复。
4、同样的代码,改变一下编译优化等级,有可能正常。也有可能不正常。
5、同样的代码,交换一下代码顺序,有可能正常。也有可能不正常。
6、同样的代码,添加或屏蔽一段代码,有可能正常。也有可能不正常。

分析:

1、PC13引脚与RTC功能复用,有可能是因此引起:

在这里插入图片描述
PC13引脚可用配置选项如下:
在这里插入图片描述

2、在线调试发现,异常时,RTC_TS input enabled位会被置1。
3、查询代码发现 进行RTC初始化时,屏蔽了一段代码:

在这里插入图片描述
4、查询RTC_Init(),发现RTC-CR未进行明确初始化,且采用“|=”进行赋值,
RTC_InitStruct->RTC_HourFormat由于前面实参被屏蔽,实参值为局部变量的值,而局部变量由于前面被屏蔽,未进行明确初始化,其值处于未定状态。此可能导致RTC_TS input enabled位会被置1。

在这里插入图片描述

解决办法:

打开被屏蔽语句,进行明确初始化。

总结:

对于未明确初始化的局部变量,一定要慎重处理。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

征文 | CSDN创作纪念日

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 征文 | CSDN创作纪念日 机缘 CSDN专业的IT社区,致力于为IT从业人员提供最新、最全面的技术资讯、最专业的技术交流平台。作为一个IT从业者,我最…

DG4Pros结合M3D,1:500地籍免像控实践详解

前言 免像控技术正在迈向成熟,逐渐从理论走向了实际应用。本期,我们详细讨论DG4 Pros相机配合北京中测智绘科技有限公司的Mirauge 3D软件在1:500地籍精度的免像控作业中的可行性及具体项目流程。 DG4 Pros倾斜摄影相机 实验背景 无人机航空摄影测量是…

Facebook群组营销:建立社群,促进互动与品牌增长

除了常见的Facebook广告和页面推广,Facebook群组也成为了一种强大的营销工具。本文将探讨Facebook群组营销的潜力以及如何建立社群、促进互动并实现品牌增长。 1.Facebook群组:一个强大的社群平台 理解Facebook群组的概念:Facebook群组是一个…

【数据分析之道-Matplotlib(五)】Matplotlib柱状图

文章目录 专栏导读1、matplotlib柱状图基本语法1.1bar()函数绘制垂直柱状图基本语法1.2barh()函数绘制垂直柱状图基本语法 2、使用 bar() 来创建一个简单的柱形图3、垂直方向的柱形图可以使用 barh() 方法来设置4、设置柱形图颜色4.1使用单个颜色值4.2使用颜色列表 5、设置柱形…

【Unity】 HTFramework框架(四十四)【进阶篇】指令系统

更新日期:2023年5月29日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 指令系统简单使用定义InstructionAgent编辑指令代码执行指令代码 指令代码语法基本语法指令关键字注释支持的值类型标识符命名规范 进阶使用运行时检视面…

【MySQL】MySQL的事务原理和实现?

文章目录 MySQL事务的底层实现原理一、事务的目的可靠性和并发处理 二、实现事务功能的三个技术2.1 redo log 与 undo log介绍2.1.1 redo log2.1.2undo log 2.2 mysql锁技术2.2.1 mysql锁技术 2.3 MVCC基础 三、事务的实现3.1 原子性的实现3.1.1 undo log 的生成3.1.2 根据undo…

机器视觉陶瓷板智能检测设备在工业质检中的应用

随着工业自动化的不断发展,机器视觉技术在质量控制领域中的应用越来越广泛。在陶瓷制品生产中,机器视觉技术可以帮助企业实现陶瓷板的智能检测,减少人工操作的错误率,提高生产效率和产品质量。本文将介绍机器视觉陶瓷板智能检测设…

4种不改变格式将PDF转Word文档的方法

Microsoft Word 使用户能够按照自己的喜好创建和编辑文档。当用户发现一些PDF资源有助于补充他们的文书工作时,他们可能希望将PDF插入到Word文档中,特别是插入多页PDF文件,以进行编辑或其他目的。将 PDF 插入 Word 文档非常容易,只…

视频剪辑必备,7免费个视频素材库,马住。

请收藏好这6个免费可商用的视频素材网站,以后再也不用为找素材而烦恼了,这些就够了! 菜鸟图库 https://www.sucai999.com/video.html?vNTYxMjky 可以称之为最大素材库,在这里你可以找到设计、办公、图片、视频、音频等各种素材。…

【科普】干货!带你从0了解移动机器人(三) ——自主导航系统及上位机软件设计与实现

随着机器人技术的不断发展,我们可以在许多简单重复,危险的岗位上看到机器人的身影,移动机器人凭借其在复杂环境下工作,具有自行感知、自行规划、自我决策功能的能力,它可以在不同的环境中移动并执行任务,在…

泉州银行:面向业务场景的赋能型数据中台

关 注gzh"大数据食铁兽",了解更多银行大数据案例 案例简介 作为支持数字经济发展和高质量发展的一份子,数字化转型成为泉州银行当前的重要任务。为加强业务场景数据赋能,数据资产共享流通,我行以“数聚、数用、数智”为…

认识Servlet---2

hi,大家好,今天我们继续来认识Servlet 1.更方便的部署方式 2.访问出错的问题分析 3.Servlet的API之HttpServlet 🍨🍨🍨🍨 🍭1.更方便的部署方式 在上一期的讲解中,我们已经完整的创建项目并且编写代码并且得到了验…

Linux之进程地址空间

文章目录 前言一、是什么1.例子2.感性的理解虚拟地址空间3.现象的具体解释4.写时拷贝 二、为什么三、怎么办总结 前言 内存区域划分: 在学习C/C时我们都有接触过内存区域划分这个概念,也知道它表示的是程序加载到内存中不同的数据所分布的不同的区域&a…

阿里云服务器数据盘是什么?系统盘和数据盘区别

阿里云服务器系统盘和数据盘有什么区别?系统盘类似Windows电脑的C盘,数据盘相当于其他盘符,数据盘可以有多个而系统盘只能有一个,数据盘可有可无而云服务器系统盘是必须要有的。阿里云服务器网来详细说下阿里云服务器数据盘和系统…

电子企业MES管理系统解决方案

随着信息技术的飞速发展,电子企业面临着日益复杂的数据管理、生产流程和业务决策等问题。如何应对这些问题并提高企业生产效率已成为电子企业的当务之急。本文旨在探讨电子企业MES管理系统的解决方案,以应对电子企业面临的挑战。 在制定电子企业MES管理…

苹果笔不用原装可以吗?推荐性价比最高的平替苹果笔

苹果Pencil的价格令人难以入手,单支就要接近千元,我实在想不通,这款电容笔怎么会以969元的价格出售?尽管苹果的Pencil性能非常不错,但是我认为它的价值还是不值这个价钱。当前国产的平板电容笔正不断完善中&#xff0c…

华为OD机试之羊、狼、农夫过河(Java源码)

羊、狼、农夫过河 题目描述 羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。农夫有一艘容量固定的船,能够承载固定数量的动物。 要求求出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。只计算…

Zookeeper集群 + Fafka集群

Zookeeper 概述 Zookeeper 定义 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 Zookeeper 工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心…

Python3,使用openpyxl进行excel数据对比,反手一个赞。

openpyxl技能 1、引言2、代码实战2.1 安装2.2 代码实战2.2.1 思路2.2.2 代码示例 3、总结 1、引言 小屌丝:鱼哥,我最近在对搞数据对比,你有什么便捷的方法? 小鱼:斗胆问一句,数据量多少? 小屌丝…

lammps教程:Ovito计算RDF方法

本文介绍ovito分析rdf的方法以及参数设置。 专栏已经介绍过多种rdf的计算方法。 如:在in文件中计算rdf: lammps案例:液体平衡态rdf计算模拟练习 编程后处理计算rdf: lammps后处理:python ovito编程计算不同原子对…