首页 > 解决方案 > Simpe C 代码在物理上破坏了核板

问题描述

下面的代码在物理上破坏了核板。2 到目前为止。ST 链路无法连接,未检测到单板。第一个死的是 xncleo stm32f411re,另一个是 nucleo stm32f446re。我是一个完整的初学者,这几乎是我的第一个代码。和2个板子死了;)问题是为什么会发生?或者可以比普通跳线重置更难重置电路板吗


int main()
{
    RCC->AHB1ENR = (1<<0);
    GPIOA->MODER = (1<<5);

    while(1)
    {
            GPIOA->ODR |=  (0<<5);
    }
}

这类似于这个问题-> https://electronics.stackexchange.com/questions/204996/stm32-st-link-cannot-connect-to-mcu-after-successful-programming ,答案帮助我恢复板,但是在这个线程中对我的问题的回答也非常有帮助。

标签: stm32

解决方案


编辑:这里解决的重置问题:https ://electronics.stackexchange.com/questions/204996/stm32-st-link-cannot-connect-to-mcu-after-successful-programming

出现问题的原因如下解决

好的,它不会在物理上破坏电路板。需要硬复位 - 短接 nucleo stm32f446re 上的 rst 和 sb11 引脚。还没试过xnucleo。

用户 P__J__ 在评论中说得对。我会引用:

只是不要分配给模式。使用 |= 或 &= 代替 – P__J__

完毕。和固定代码:

int main()
{
    RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;

    GPIOA->MODER |= GPIO_MODER_MODE5_0;

    while(1)
    {
            GPIOA->ODR |=  GPIO_ODR_OD5;
    }

}

推荐阅读