编程的时候偶尔会不注意导致把整个GPIOA配置成输入模式,这样SW就失效了。STM32能收到STLINK的SW信号但是由于引脚是输入模式,根本无法回应STLINK。
这样就导致每次复位IO都会配配置成输入模式,STM32就变成锁死状态了。
恢复的方法
首先要下载ST工具包,在ST官网搜索STVP第一个就是。
打开STVP

选择型号(我这用的是STM32F030F4)

关键的一步
首先
按住 复位键使STM32一直处于复位状态
再点Read current tab or active sectors尝试与STM32通讯

然后在放开复位键
这里如果没成功要多试几次
数据读出来之后

再找到Erase项 选择Active Sector(s) 擦除Flash

下面出现这些文字的时候说明擦除成功

然后STM32就能正常使用了。
在复位后初始化的时候最好加上100ms左右的延时,就算不小心锁死有100ms的延时也很容易的恢复。
这样就导致每次复位IO都会配配置成输入模式,STM32就变成锁死状态了。
恢复的方法
首先要下载ST工具包,在ST官网搜索STVP第一个就是。
打开STVP

选择型号(我这用的是STM32F030F4)

关键的一步
首先
按住 复位键使STM32一直处于复位状态
再点Read current tab or active sectors尝试与STM32通讯

然后在放开复位键
这里如果没成功要多试几次
数据读出来之后

再找到Erase项 选择Active Sector(s) 擦除Flash

下面出现这些文字的时候说明擦除成功

然后STM32就能正常使用了。
在复位后初始化的时候最好加上100ms左右的延时,就算不小心锁死有100ms的延时也很容易的恢复。