一、串口下载:

1.MCUISP串口软件一键下载设置:

DTR低电平复位,RTS高电平进入bootload串口下载 在ch340芯片对应DTR和RTS输出电平与电脑软件设置的电平相反。一键下载电路根据ch340芯片对应引脚的控制信号完成对应功能具体实现过程如下:

2.单片机启动设置单片机低电平复位 Boot0=0,boot1=x,从用户区flash启动Boot0=1,boot1=0,进入串口下载区Boot0=1,boot1=1,从SRAM启动改变boot0电平就可以从不同区域启动

3.一键下载电路如下:

STM32单片机程序下载方式汇总_第1张图片

usb转串口

USB转串口,我们选择的是CH340G,稳定性经测试还不错。

图中 Q2 和 Q3的组合构成了一键下载电路,只需要在 mcuisp 软件设置: DTR 的低电平复位,RTS 高电平进BootLoader。就可以一键下载代码了,而不需要手动设置 B0 和 按复位了。其中,RESET 是开发板的复位信号,BOOT0则是启动模式的 B0 信号。USB_232 是一个 MiniUSB 座,提供 CH340G和电脑通信的接口,同时可以给电路板供电,VUSB 就是来自电脑 USB 的电源,USB_232是开发板的主要供电口。

STM32单片机程序下载方式汇总_第2张图片

串口对应引脚图

STM32单片机程序下载方式汇总_第3张图片

必须选择单片机串口1下载

图中 TXD/RXD 是相对 CH340G 来说的,也就是 USB串口的发送和接收脚。USART1_RX 和 USART1_TX 则是相对于 STM32F103ZET6来说的。这样,通过对接就可以实现 USB 串口 和 STM32F103ZET6 的串口通信了。同时,P6 是 PA9 和PA10的引出口。

这样设计的好处就是使用上非常灵活。比如需要到外部 TTL 串口和 STM32通信的时候, 只需要拔了跳线帽,通过杜邦连接外部 TTL 串口,就可以实现和外部设备的通信了;又比如我有个板子需要和电脑通信,但是电脑没有串口,那么你就可以使用开发的 RXD 和 TXD 来连接你的设备,把开发板当成 USB串口用了。

STM32单片机程序下载方式汇总_第4张图片

系统版启动模式电路

STM32单片机程序下载方式汇总_第5张图片

BOOT0、BOOT1启动模式表(硬件连接)

一键下载电路,通过串口的 DTR 和 RTS信号,来自动配置 BOOT0 和RESET 信号 ,因此不需要用户来手动切换他们的状态,直接串口下载软件自动控制,可以非常方便的下载代码。事先设置好也是可以的。

STM32单片机程序下载方式汇总_第6张图片

mcuisp软件界面

打开 MCUISP,点击搜索串口,将自动找到电路板的板载串口,在bps中默认波特率为460800,为了稳定下载可选择较低的波特率,左下角选择:DTR的低电平复位,RTS 高电平进 BootLoader。再加载烧写文件。

STM32单片机程序下载方式汇总_第7张图片

读器件信息

在烧写程序以前,点击读器件信息将出现右边框图的信息,说明电路板串口连接成功。

STM32单片机程序下载方式汇总_第8张图片

点击开始编程,程序开始烧写,烧写成功后会出现右边框图所示的信息,表明程序烧写成功。