You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.7 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

[开发板常见问题](https://docs.baud-dance.com/docs/stm32/FAQ/)
- [1. 下载不成功](#1-下载不成功)
- [1.1. 解决方案](#11-解决方案)
- [1.2. 为什么会出现这个问题](#12-为什么会出现这个问题)
- [1.3. 为什么以前没有出现这个问题?](#13-为什么以前没有出现这个问题)
- [1.4. 怎么避免这个问题?](#14-怎么避免这个问题)
# 1. 下载不成功
## 1.1. 解决方案
1. 将 SYS -> Debug 设为 Serial Wire然后**保存并重新生成代码**
![image-20241218094627910](./img/image-20241218094627910.png)
2. **将 BOOT0 跳线帽改到 H**
![image-20241218094748537](./img/image-20241218094748537.png)
3. **按一下复位键**
![image-20241218094803715](./img/image-20241218094803715.png)
4. **现在就能下载程序了~**
![image-20241218094819489](./img/image-20241218094819489.png)
5. **将跳线帽换回 L按复位键程序就开始跑啦~**
6. **避免下次再出现后面再新建的工程都按步骤1配置一下**
## 1.2. 为什么会出现这个问题
- 当没有配置 Debug 接口为 Serial Wire 时HAL库会认为**不需要下载接口**
- 因此在生成初始化代码时,可能出现这一行:
```c
__HAL_AFIO_REMAP_SWJ_DISABLE(); // 关闭SWD、JTAG接口
```
- 这行代码**关闭了芯片的 SWD 接口**,导致下载失败
## 1.3. 为什么以前没有出现这个问题?
- 这行代码是跟着 **串口、I²C** 等初始化代码一起生成的
- 以前的工程可能没有用到,所以并没有生成这行代码
- 而当用到例如 串口、I²C 等功能时HAL库需要初始化 AFIO 时,就会生成这行代码
## 1.4. 怎么避免这个问题?
在每次新建工程后,就配置好 Debug 接口为 Serial Wire