在用STM32F051Disconvery学习时,装备GPIOA时,不小心将衔接SWD总线上的两个端口都装备为了输出,这下惨了,就再也不能用SWD仿真或许下载程序了,解决方法如下:
1、先承认方针板上电。
2、先长按住方针板上的复位键,再点击 Settings,再松开方针板上的复位键。
3、此刻KEIL翻开Settings的设置对话框,请承认有红框圈中的内容后,再进行下一步。
4、将STM32F051Disconvery板断电,从头上电。
5、先长按STM32F051Disconvery的复位键,再点击仿真或许下载按钮,再松开复位键。
注:这儿点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时刻每次都不同,在某一个点时,就可以进入仿真或许下载程序了。板子就康复正常了。但需求留意的是,在程序里一定要避开对GPIO13\GPIO14的装备。
注:这儿点仿真到松开复位键不是每一次都能成功,每次点了仿真键到松开复位键的时刻每次都不同,在某一个点时,就可以进入仿真或许下载程序了。板子就康复正常了。但需求留意的是,在程序里一定要避开对GPIO13\GPIO14的装备。
总结:
在程序中装备了GPIO13\GPIO14。
我用万用表丈量方针板上的STM32F051R8T6的复位脚,在点击仿真时,有瞬间的电平改变,我剖析应该是对方针板有复位的动作,但为什么GPIOA的装备状况没有复位呢?有一点没有搞懂。手册写有GPIOA_MODER复位后的值为:0x2800 0000,行将GPIO13\14装备为复用形式,但为什么在程序装备了GPIO13\14为输出,并且在方针芯片有复位的情况下也会引起SWD无法仿真、下载的问题。