Proteus仿真STM32的RTC时钟解决步骤

本文介绍了在Proteus环境下,使用正点原子的RTC库进行STM32 RTC时钟仿真时遇到的问题及解决过程。在仿真实验中,程序在调用RTC初始化函数时卡死。通过逐步排查,发现问题出在特定函数的指针操作和低速晶振就绪检查上。通过对相关代码的修改和注释,成功解决了程序卡死的问题,实现了RTC的正常仿真。
摘要由CSDN通过智能技术生成

我在用Proteus仿真32的RTC时钟的时候,采用的是正点的库去做移植到我的Proteus平台
效果展示:
在这里插入图片描述
注意:仿真的时间走的比较慢,仿真出来后可能时间需要过个几秒才会跳变,可能是仿真软件存在的BUG
(待解决)

OK,下边进入移植方法。
1、首先拿到正点原子的对RTC的标准库的例程,直接运行在我们的仿真平台上是走不通的。
问题现象:一加入RTC初始化函数My_RTC_Init(),程序直接卡死。注释了程序正常跑通。

2、因此进入这个函数,采用局部注释法来排除问题,看看问题究竟在哪里

通过注释屏蔽,发现在 是否第一次配置的这个函数就出现了问题在这里插入图片描述
我们右键进入这个函数
再次通过局部注释
的
发现return这条语句直接导致程序卡死,
他是先把tmp这个局部变量强制转换成指针类型,最后又用解引用运算符去求得它的值
因此直接将其简化为

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值