STM32F3仅使用ST-Link调试器启动

时间:2017-05-19 14:00:54

标签: arm embedded microcontroller stm32 stm32f4discovery

我能够使用ST-Link v2刷新定制板的STM32F3而没有问题,程序运行正常(打开LED)。但是,如果我关闭电源,拔下ST-Link,然后重新打开电源,程序似乎无法运行:LED指示灯熄灭。

一旦打开电源,nRST引脚上升到3.3V(内部上拉),Boot0保持在0(外部下拉)。示波器在启动时或之后都没有显示任何引脚上的奇怪行为。

我运行的另一项测试是:我使用ST-Link启动程序,然后在不关闭电源的情况下拔下ST-Link。该计划保持良好运行,毫不奇怪。但是,如果我手动将nRST接地,程序会停止,如果我然后释放它,它会再次上升到3.3V,因为上拉并且程序重新启动并像以前一样运行。所以当我从头开始为电路板加电时,问题似乎真的很明显。 FIY,我使用USB连接的5V通过稳压器获得STM的3.3V电压。我还有一个用于STM时钟的外部晶振,根据示波器工作正常。

有没有人知道可能出现什么问题?

谢谢。

1 个答案:

答案 0 :(得分:-1)

事实证明,这是一个软件问题! 我的一个GPIO初始化代码中缺少一行:我将其设置为输出,下拉,但没有将其类型设置为Output-PushPull。 当配置引脚并触发BP时,应该由ASSERT捕获,但出于某种原因,如果连接调试器时没有。实际上它确实曾经,这就是我发现错误的方式。为什么其他时候运行良好仍然是一个谜。

无论如何,谢谢你的回答,现在工作正常!