stm32独立看门狗学习日记

本文讲述了作者在编程过程中遇到的问题,通过对比代码发现是硬件连接错误——Wakeup按键的IO口被误接到OLED接口。这揭示了如何从理论分析和实际硬件检查中找出问题,对IT技术调试过程进行了生动描述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一开始写完代码发现现象不对,以为是代码错了,然后跟原子哥的代码对比之后发现只有key_scan那里的入口参数不一样,然后调整了发现入口参数只有为0的时候才能触发。但是按照理论分析来说,入口参数为0代表不支持连按,所以连按的时候LED依旧会闪烁;而入口参数为1的时候支持连按,所以连按的时候相当于在一直喂狗,所以现象为常亮。
大致排除代码可能出现错误的情况之后,开始思考硬件连接,首先肯定得考虑屏幕这个大家伙,LED屏幕,然后看到了旁边的连针,马上想到之前在某实验中好像动过连针。于是看了看四个连针,想到wakeup按键连着的io口为PA0,一看,PA0确实通过连针和1820连着了。于是乎排查出了错误,果然是硬件连接上出现问题。这样来看,前几天的外部中断实验中,按wakeup键没反应的情况也就说得通了,当时还以为是这个按键坏掉了。
然后拔下屏幕再装上去却怎么也连不上电脑了。还重新装了驱动,还是不行。于是乎把屏幕取下再连,指示灯一下就亮了。这个时候才知道肯定是前面装屏幕的时候装到OLED 的口去了。
装回屏幕,分别测试支持连按和不支持连按,现象对应准确,实验成功。

be64dfb4de334eadb3a0b500f4d45c68.png

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值