stm32 - 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 ,答案帮助我恢复板,但是在这个线程中对我的问题的回答也非常有帮助。
解决方案
编辑:这里解决的重置问题: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;
}
}
推荐阅读
- mysql - 如何使用 GraphQL 获取 MySQL 所有表数据
- javascript - CSS 简单甘特图(紧凑)
- c# - 如何在不使用 AutoMapper 的情况下手动映射 DTO?
- laravel - Laravel 在更新方法中通过 Cloudder 和 Cloudinary 上传图像,出现 getRealPath() 错误“调用成员函数 getRealPath() on null”
- security - 如何使用 apache 设置正确的内容安全策略
- elasticsearch - org.elasticsearch.common.xcontent.DeprecationHandler 使用 Elasticsearch REST 高级客户端时出现异常
- php - mysqli_real_connect(): (HY000/2006): MySQL 服务器已经消失
- json - 为通过 Microsoft Graph 创建的团队禁用了分配屏幕
- python - Python wget一次下载多个文件
- c# - 将 JSON 与相同的项目合并