zoukankan      html  css  js  c++  java
  • STM32单片机串口一键下载电路与操作方法详解

    STM32三种启动模式对应的存储介质均是芯片内置的,它们是:
    1)用户闪存 = 芯片内置的Flash。
    2)SRAM = 芯片内置的RAM区,就是内存啦。
    3)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。

    要了解STM32的几种启动模式.
    BOOT0接GND,BOOT1接GND.那就是正常的启动模式,从flash加载代码.
    而BOOT0接V3.3,BOOT1接GND.则是ISP模式,也就是串口更新代码.

    其次,你要了解STM32 ISP下载代码的过程.
    首先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串口就可以完成程序下载工作。对于那些只有串口的单片机控制板无疑是一个完美的选择。

  • 相关阅读:
    $("").append无反应
    go 客户端、服务端
    go mysql insert变量到数据库
    .gvfs: Permission denied
    go笔记
    java socket通信笔记
    (转)linux中top命令下显示出的PRNIRESSHRS\%MEM TIME+都代表什么
    adb Android Debug Bridge 安卓调试桥
    一阶段冲刺(四)
    一阶段冲刺(三)
  • 原文地址:https://www.cnblogs.com/wt88/p/9767547.html
Copyright © 2011-2022 走看看