pyboard使用DFU升级是最简单省事的,但是这次的板子因为参数上的一个疏忽,造成了一些板子不容易进入DFU模式。产生的原因是这次使用了品质较好的TDK晶体,它的负载电容是10pf;而以前都是使用普通的国产晶体,使用的负载电容是18pf。这次更换了晶体但是忘记修改电容,这样的结果就是系统复位后晶体震荡的稳定时间会边长,超出了内部DFU程序的检测时间(DFU可以使用4-26M之间任意整数频率的频率,使用了HSI进行判断)。如果你的pyboardCN也遇到这个问题,可以参考下面的方法。
最直接的解决方法当然就是更换电容,但是一是时间有点来不及,在就是手工更换容易影响质量。用一句被现在手机厂家玩坏的话,我们也有很多吓人的黑科技,不改硬件也可以解决问题。
方法也很简单,先将RST引脚连接到3V3上(pyboardCN V2下部8pin连接器的右上角两个焊盘),在打开终端软件,连接到pyboardCN V2,输入 pyb.bootloader() 指令,就可以进入DFU模式了。在升级过程中,要保持RST和3V3的连接,不能断开。
也可以先断开USB,然后同时连接BOOT0和RST到3V3,在连接SUB线,这样也可以进入DFU模式。进入后BOOT0可以和3V3断开,但是RST需要和3V3保持连接。
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处