原因:程序中把具有复用功能SW/JTAG的GPIO口占用了
解决思路:擦除芯片原有程序
解决方法:
1、(推荐)将RST接地,再连接SW/JTAG下载程序(新程序中不要再占用SWCLK和SWCLD),在下载中看见芯片擦除成功了就松开RST接地;
2、使用软件擦除芯片程序(什么软件我不记得了0.0),另外RST也要接地
3、最笨的方法 :使用串口(TX/RX,用软件mcuisp)下载一个新程序(HEX文件)...,同样新程序中不要再占用SWCLK和SWCLD,不然还会再次锁死;
注1:正常的下载器或者仿真器其实有五个引脚的除了VCC、GNG、SWCLK、SWDIO、还有一根接MUC上的RST ,下载或者仿真时会自己去复位一下,只是用的很少,市面上那些仿的JLINK也只引了四根线,像我这样的新手就 容易忽略
注2:在程序里边加入GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE); 来彻底解除限制,
或用写寄存器的方式,SWG_CFG[2.0]写入000