打印
[STM32H7]

【STM32H745I-DISCO试用】2.我的点灯之路并不平凡

[复制链接]
2254|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pzw1758|  楼主 | 2025-2-21 20:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzw1758 于 2025-2-21 20:52 编辑

在欣赏完Demo之后,我也要根据原理图开始对板载外设进行驱动了,作为一名大学牲,我又要开启我的嵌入式点灯之路了(哈哈哈哈)。
一、核心供电选择错误后如何抢救芯片
        下面是一大段唠叨的话,有需要的可以到具体解决方案处查看。
        BUG描述:在我快乐地打开CubeMX创建点灯工程后我又打开Keil快速写好两个核控制GPIO翻转的代码,迅速下载到开发板,看到两颗LED交替闪烁后,我又开心的笑了。但是当我下一次上电后,我发现LED居然没有亮,并且STLink连不上芯片了。这太奇怪了!!!
在我之前遇到STLink连不上芯片的诸多情况中,无非就以下五种情况:
  • 硬件连接不稳定
  • 电脑没有STLink驱动
  • STLink固件没更新
  • 引脚复用(PA13,PA14)
  • 开发板供电不稳定

在反复检查电脑配置和开发板连接之后,我依然没有找到任何原因,但是我可以非常肯定的排除前四种情况,至于最后一种情况,我只能抱着试试看的态度,用万用表检查芯片的每一路供电。经过漫长的寻找之后,我还真找到有一路供电有一点不正常。
图中的这个电阻(SB44)是0Ω跳线电阻,如果说这个电阻是连接模拟地和数字地还说得过去,但是查阅原理图后我发现这是给VDDIO33_LDO供电的短接电阻,那这个0V就太不对了。
除了发现这个0Ω电阻电压不对之外,我还发现原理图中NOTE中说:H745XI default setting is SMPS mode, and  H750XB only supports LDO mode这就触及到我的知识盲区了,查阅查考手册后,我终于搞明白是怎么一回事了。
原来H745这颗芯片对核心有两种供电模式:一种是LDO模式,另一种是SMPS模式。然而我在第一次配置CubeMX时没有注意到这个问题,就保持默认的LDO模式导致芯片上电后核心没有供电也就不工作了这样STLink肯定也是连不上的。然后需要验证的一个问题是芯片是否还是好的,我将RST按键按住后上电发现芯片可以被连接到了。
紧接着是要解决如何将正确的供电配置函数下载到芯片:
1.1官方的解决方案:强制进入下载模式https://community.st.com/t5/stm32-mcus-boards-and-hardware/stlink-problems-with-stm32h745i-disco/m-p/285050#M9898
在下图中的R143和R144位置处,将R143的电阻焊接到R144处,即可将BOOT置为高电平,在按下RST即可进入强制下载模式。
1.2我的解决方案:(不知道是否对芯片友好)
既然是没有1.2V的核心供电,那么我就给你飞一个1.2V供电。
在上图0Ω(SB44)处直接接入1.2V的供电。
上电后快速下载完正确的代码,然后马上拔掉连接线,去掉外部供电之后,在上电。核心1.2V供电终于出现了。
二、终于可以点灯了2.1时钟和供电配置
2.2LED配置
2.3时钟树配置
先保持默认即可
2.4代码
M7核:
HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
HAL_Delay(100);
M4核:
HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);
HAL_Delay(500);2.5现象
LD6(红色)慢闪,LD7(绿色)快闪。

使用特权

评论回复
沙发
jobszheng| | 2025-3-6 10:01 | 只看该作者
这个经验分享真棒。
感谢楼主在前面披荆斩棘

使用特权

评论回复
评论
pzw1758 2025-3-7 10:57 回复TA
嘻嘻 
板凳
yangjiaxu| | 2025-3-6 15:02 | 只看该作者
你的板子这是嘎了?还自己换个这么大的电阻,你不如直接堆锡短路了

使用特权

评论回复
地板
pzw1758|  楼主 | 2025-3-7 10:59 | 只看该作者
yangjiaxu 发表于 2025-3-6 15:02
你的板子这是嘎了?还自己换个这么大的电阻,你不如直接堆锡短路了

没有没有,那个位置本来就是0603封装的0欧电阻

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

15

帖子

0

粉丝