查明问题:
硬件连着好好的,结果烧录显示No target报错。
查看半天代码发现是Chatgpt生成的代码中使用了函数导致某些问题。
__WFI(); // 使用 Wait-For-Interrupt 指令来降低 CPU 的功耗
这些函数使用的时候都需要配置(WFI会进入低功耗导致无法烧录,需要提前配置好低功耗模式),否则会导致某些问题(只用底层寄存器写法应该就没问题)
此处把WFI改成for循环来等待就可以继续烧录了,不会报错。
解决方法:
把boot0跳线拨到高电位就不会使用flash代码运行,此时再烧录一下把flash代码刷掉即可。
(正常情况下烧录只会把代码烧录到flash中,keil5中的download全称是download to flash memory)
然后再把跳线拨回去。
此处应该都不一样,具体看参考手册,是否是boot1=0,boot0=1用的是系统存储运行。
tip:可以用ctrl+f来查找具体的问题,比如此处搜boot即可