No Device Found 找不到设备
芯片的SWD接口被关闭
解决方法:
1、配置一下工程
将 SYS -> Debug 设为 Serial Wire,然后保存并重新生成代码
- 2、将 BOOT0 跳线帽改到 H
- 3、按一下复位键
- 4、现在就能下载程序了~
5、将跳线帽换回 L,按复位键,程序就开始跑啦~
6、避免下次再出现,后面再新建的工程,都按步骤1配置一下
为什么会出现这个问题?
当没有配置 Debug 接口为 Serial Wire 时,HAL库会认为不需要下载接口
因此在生成初始化代码时,可能出现这一行:
__HAL_AFIO_REMAP_SWJ_DISABLE(); // 关闭SWD、JTAG接口
- 这行代码关闭了芯片的 SWD 接口,导致下载失败
为什么以前没有出现这个问题?
这行代码是跟着 串口、I²C 等初始化代码一起生成的
以前的工程可能没有用到,所以并没有生成这行代码
而当用到例如 串口、I²C 等功能时,HAL库需要初始化 AFIO 时,就会生成这行代码
怎么避免这个问题?
- 在每次新建工程后,就配置好 Debug 接口为 Serial Wire