【发布时间】:2020-12-25 12:12:14
【问题描述】:
我已经订购了黑色药丸(STM32F411CEU6,真实的)来替换我的蓝色药丸开发套件,该套件没有足够的 RAM,并且除了运行问题之外什么都没有。我已经使用 STM32CubeIDE 生成了项目。
我将 A11、12、13 用于 GPIO 输出,PB9、8 用于 I2C 通信,A10、11 用于我的 USART 设备。
我可以让 st link 编程器和软件检测我的黑药丸并在短时间内调试,直到我输入 MX_GPIO_Init()
在此之后,程序员失去了与设备的通信,并阻止我进行任何真正的编程。我看过的一些地方说尝试将 Sys -> Debug 设置设置为 "Serial Wire" 但默认情况下这对我来说是禁用的,无法切换。
在调试环境中,当我在实时模式下进行调试时,我可以看到已启用调试
Starting server with the following options:
Persistent Mode : Disabled
Logging Level : 1
Listen Port Number : 61234
Status Refresh Delay : 15s
Verbose Mode : Disabled
SWD Debug : Enabled
InitWhile : Enabled
所以调试看起来设置正确,但我只是不明白为什么它不能通过查看调试控制台调用 GPIO 的 init 我得到了这个
handle_vCont_c, Failed continue thread
进入这个函数后抛出的
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
这对我来说没有多大意义,因为我以前没有见过这个,有人可以帮我正确设置这个项目吗?谢谢。
【问题讨论】:
-
我应该注意到我已经发现了让这个东西正常通信的技巧,即按住 NRST 和启动 0 按钮,然后从 NRST 释放,只保持启动直到程序员得到一个连接。这是我遇到的第一个问题,我能够解决,只是想把它扔掉,这样我们就可以排除这个问题。