以下是原子大哥回复别人的,链接 http://www.tosogo.com/posts/list/1060.htm
这个很好理解吧?
首先,你要了解STM32的几种启动模式.
B0接GND,B1接GND.那就是正常的启动模式,从flash加载代码.
而B0接V3.3,B1接GND.则是ISP模式,也就是串口更新代码.
其次,你要了解STM32 ISP下载代码的过程.
首先B0接V3.3,然后复位STM32.STM32就会加载ISP代码(固化存储在内部),从而进入ISP模式.此时便可以通过串口下载程序了.
最后再来看看一键下载是怎么实现的呢?
从原理图可知L2303的RTS控制B0,DTR控制RST.
我们要达到下载的目的,就必须先让RTS拉高B0(设置B0为1),然后再让DTR控制RST为低(STM32为低电平复位).然后再释放RTS为高(停止复位),然后再开始串口下载代码(此时B0可以为高,也可以为低).
所以我们看到mcuisp连接过程是:
DTR电平置低(-3--12V),复位(DTR接了RST)
RTS置高(+3-+12V),选择进入BootLoader(RTS接了B0)
...延时100毫秒
DTR电平变高(+3-+12V)释放复位(释放复位,但是此时B0为高,所以进入ISP模式)
开始连接...4, 接收到:1F (连接成功)
在串口COM10连接成功@230400bps,耗时437毫秒
RTS维持高
以下是原子大哥回复别人的,链接 http://www.tosogo.com/posts/list/1060.htm
这个很好理解吧?
首先,你要了解STM32的几种启动模式.
B0接GND,B1接GND.那就是正常的启动模式,从flash加载代码.
而B0接V3.3,B1接GND.则是ISP模式,也就是串口更新代码.
其次,你要了解STM32 ISP下载代码的过程.
首先B0接V3.3,然后复位STM32.STM32就会加载ISP代码(固化存储在内部),从而进入ISP模式.此时便可以通过串口下载程序了.
最后再来看看一键下载是怎么实现的呢?
从原理图可知L2303的RTS控制B0,DTR控制RST.
我们要达到下载的目的,就必须先让RTS拉高B0(设置B0为1),然后再让DTR控制RST为低(STM32为低电平复位).然后再释放RTS为高(停止复位),然后再开始串口下载代码(此时B0可以为高,也可以为低).
所以我们看到mcuisp连接过程是:
DTR电平置低(-3--12V),复位(DTR接了RST)
RTS置高(+3-+12V),选择进入BootLoader(RTS接了B0)
...延时100毫秒
DTR电平变高(+3-+12V)释放复位(释放复位,但是此时B0为高,所以进入ISP模式)
开始连接...4, 接收到:1F (连接成功)
在串口COM10连接成功@230400bps,耗时437毫秒
RTS维持高
举报