在此介绍STM32单片机串口一键下载电路与操作方法详解。
STM32三种启动模式对应的存储介质均是芯片内置的,它们是:
1)用户闪存 = 芯片内置的Flash。
2)SRAM = 芯片内置的RAM区,就是内存啦。
3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。
要了解STM32的几种启动模式.
BOOT0接GND,BOOT1接GND.那就是正常的启动模式,从flash加载代码.
而BOOT0接V3.3,BOOT1接GND.则是ISP模式,也就是串口更新代码.
其次,你要了解STM32ISP下载代码的过程.
首先BOOT0接V3.3,然后复位STM32.STM32就会加载ISP代码(固化存储在内部),从而进入ISP模式.此时便可以通过串口下载程序了.
最后再来看看一键下载是怎么实现的呢?
从原理图可知:DB9串口的RTS控制BOOT0,DTR控制RST.
我们要达到下载的目的,就必须先让RTS拉高BOOT0(设置BOOT0为1),然后再让DTR控制RST为低(STM32为低电平复位).然后再释放RTS为高(停止复位),然后再开始串口下载代码(此时BOOT0可以为高,也可以为低).
所以我们看到mcuisp连接过程是:
DTR电平置高(3-12V),复位(DTR接了RST)
RTS置低(-3--12V),选择进入BootLoader(RTS接了BOOT0)
...延时100毫秒
RTS电平变高(+3-+12V)释放复位(释放复位,但是此时BOOT0为高,所以进入ISP模式)
开始连接...4, 接收到:1F (连接成功)
在串口COM0连接成功@230400bps,耗时437毫秒
DTR维持高
【需要注意的是 DTR_N是DTR的反相电平 RTS_N是RTS的反相电平】
注:此电路不需要USB转串口芯片,只要一个普通的DB9串口就可以完成程序下载工作。对于那些只有串口的单片机控制板无疑是一个完美的选择。
上一篇:STM32Cube HAL库中断处理机制 以及回调函数实现原理
下一篇:STM32学习:ADC/DMA/USART
设计资源 培训 开发板 精华推荐
- LT1120IS8 微功率稳压器的典型应用电路,用于将比较器补偿为运算放大器
- STEVAL-ILD004V2,用于卤素、低功耗灯评估板的数字墙壁调光器
- LTC2246H 演示板、14 位、25Msps H 级 ADC,采用 7x7 LQFP-48
- 基于SLLIMM智能功率模块STGIPQ5C60T-HZ的450W电机控制电源板
- 最小51系统板(附带串口烧录-通信-供电三合一模块)
- 可调电源
- SSM2315 无滤波器、高效、单声道 3W D 类音频放大器的典型差分输入配置、用户可调增益电路
- AMS1117
- 用于计量的模拟放大
- 具有最大功率点跟踪功能的 LTC4162EUFD-FAD 太阳能供电 3 节 3.2A 充电器的典型应用