【转载】【stm32】一键下载电路

2023-11-15

【原创Nerute】 2018-11-18 01:11:10 2361
首先感谢正点原子的开源资料!

下面贴上正点原子一键下载电路的原理图。
在这里插入图片描述

很显然,核心是一块CH340芯片,什么是CH

请看手册:
在这里插入图片描述

再来就是引脚说明
在这里插入图片描述

了解一键之前,我们还得知道,stm32下载程序所需的条件,贴上启动模式说明图:
在这里插入图片描述

由此可知,要下载程序,需控制的一个引脚是BOOT0。再观一键下载电路的原理图,还有一个引脚RESET。

so 如何实现一键下载呢?

前提,要知道一个常识:

STM32 串口下载并运行的标准方法是 3个步 骤:

1, 把 B0 接 V3.3(保持 B1 接 GND)。

2, 按一下复位按键。

3, B0 接回 GND,然后再按一次复位键。

由正点原子提供的一键下载电路的原理图可以看出和stm32这两个引脚最有关联的是CH340的DTR#和RTS# 输出引脚。

没错,我们就是用一键下载软件通过控制这两个引脚的高低电平,从而控制BOOT0和RESET,进而改变启动模式。

接下来涉及到一点点模电知识,请看解说,包懂!

1.一开始,先 让DTR#输出高电平,RTS#输出低电平,满足NPN管正向导通条件,Q2导通(简便起见,可看做导线),从vcc到Q2的发射极(低电平相当于接地了),大部分电压落在R40上,所以RESET输出低电平;再看Q3,也满足导通条件,故BOOT0输出高电平。stm32启动串口下载模式。

2.下载完程序之后呢?软件拉高RTS#,DTR#之后再拉低。此时,Q2不导通,Q2阻抗非常大,大部分电压落在Q2上,RESET输出高电平,BOOT0输出低电平。启动模式变为flash启动,即用户闪存。

第1步只是存储了程序,第2步是让程序加载运行。

能力有限,半夜作文,实属不易,有错请指出,谢谢了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【转载】【stm32】一键下载电路 的相关文章

  • GCC - 如何停止链接 malloc?

    我正在努力将我的代码缩减到最小的骨架大小 我使用的是只有 32k 闪存的 STM32F0 需要很大一部分闪存用于数据存储 我的代码已经有大约 20k 闪存大小 其中一些是由于使用了 STM32 HAL 函数 我可以在以后需要时对其进行解释和
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH
  • 140-基于stm32单片机智能晾衣杆控制系统Proteus仿真+源程序

    资料编号 140 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 光敏传感器 蜂鸣器 LED灯 制作一个基于stm32单片机智能晾衣杆控制系统Proteus仿真 2 通过光敏传感器
  • 135-基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真+源程序

    资料编号 135 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 电机 超声波传感器 制作一个基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真 2 通过DHT11传感器检测当前
  • STM32F4 通过软复位跳转到引导加载程序,无需 BOOT0 和 BOOT1 引脚

    我问这个问题是因为可以在这里找到类似问题的答案 通过应用程序跳转到 STM32 中的引导加载程序 即从用户闪存在引导模式下使用引导 0 和引导 1 引脚 用户 JF002 JF002回答 当我想跳转到引导加载程序时 我在其中一个备份寄存器中
  • STM32超声波——HC_SR04

    文章目录 一 超声波图片 二 时序图 三 超声波流程 四 单位换算 五 取余计算 六 换算距离 七 超声波代码 一 超声波图片 测量距离 2cm 400cm 二 时序图 1 以下时序图要先提供一个至少10us的脉冲触发信号 告诉单片机我准备
  • [MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

    作为学习单片机的经典 自然是通过GPIO点亮LED 或者是响应按钮的外部中断例程 这我们看看SOP8封装的芯片MM32G0001A6T得引脚 除了VDD和GND固定外 我们可以使用PA14 PA1 PA13 PA15 PA2 PA3这六个G
  • 跟着野火学FreeRTOS:第一段(任务定义,切换以及临界段)

    在裸机系统中 系统的主体就是 C P U CPU CP U 按照预先设定的程序逻辑在 m a i n
  • 最终启动顺序错误 - STM32L476 的 Eclipse System Workbench 调试

    我正在尝试调试和运行 STM32L476 的简单汇编代码 我已经设置了 Eclipse Oxygen 在 Eclipse 中安装了最新版本的 System Workbench 插件并安装了 ST Link 驱动程序 IDE 成功构建了程序
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • Freertos低功耗管理

    空闲任务中的低功耗Tickless处理 在整个系统运行得过程中 其中大部分时间都是在执行空闲任务的 空闲任务之所以执行 因为在系统中的其他任务处于阻塞或者被挂起时才会执行 因此可以将空闲任务的执行时间转换成低功耗模式 在其他任务解除阻塞而准
  • for循环延时时间计算

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 之前做led点亮的实验 好像是被delay函数影响了 因为delay参数设置的不对
  • STM32H5 Nucleo-144 board开箱

    文章目录 开发板资料下载 目标 点亮LD1 绿 LD2 黄 和LD3 红 三个LED灯 开箱过程 博主使用的是STM32CubeMX配置生成代码 具体操作如下 打开STM32CubeMX File gt New project 选择开发板型
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • STM32内部时钟

    我对 STM32F7 设备 意法半导体的 Cortex M7 微控制器 上的时钟系统感到困惑 参考手册没有充分阐明这些时钟之间的差异 SYSCLK HCLK FCLK 参考手册中阅读章节 gt RCC 为 Cortex 系统定时器 SysT
  • 使用 STM32 USB 设备库将闪存作为大容量存储设备

    我的板上有这个闪存IC 它连接到我的STM32F04 ARM处理器 处理器的USB端口可供用户使用 我希望我的闪存在通过 USB 连接到 PC 时被检测为存储设备 作为第一步 我在程序中将 USB 类定义为 MSC 效果很好 因为当我将主板
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • 当端点和 PMA 地址均更改时,CubeMX 生成的 USB HID 设备发送错误数据

    我正在调试我正在创建的复合设备的问题 并在新生成的仅 CubeMX 代码中重新创建了该问题 以使其更容易解决 我添加了少量代码main 让我发送 USB HID 鼠标点击 并在按下蓝色按钮时使 LED 闪烁 uint8 t click re
  • STM32 传输结束时,循环 DMA 外设到存储器的行为如何?

    我想问一下 在以下情况下 STM32 中的 DMA SPI rx 会如何表现 我有一个指定的 例如 96 字节数组 名为 A 用于存储从 SPI 接收到的数据 我打开循环 SPI DMA 它对每个字节进行操作 配置为 96 字节 是否有可能

随机推荐

  • synopsys-SDC第二章——综合的基础知识

    synopsys SDC第二章 综合的基础知识 前言 一 综合是什么 二 时序约束在综合中的作用 1 优化 2 输入重排序 3 输入缓冲 三 综合中其它问题 前言 学习了FPGA和数字IC已经有一段时间了 但是对于SDC和STA整体性的学习
  • element-ui 解决 el-select 设置初始默认值后切换选项无效问题

    如何解决 el select 设置默认值后无法切换选项 在今天做项目的时候突然遇到一个问题 我给form表单里面的 el select下拉框设置一个默认值 但是当下拉框重新选择时 页面下拉框的值却不变 如图所示 原因 select 已经绑定
  • 企业补丁管理必备的11个关键步骤

    补丁管理是发布和部署软件更新的持续过程 最常见的是解决安全和功能问题 但要做好补丁管理 就必须具备一个详细的 可重复的过程 建立有效的补丁管理流程对于保持系统的安全和稳定至关重要 补丁解决可能被黑客利用的漏洞 漏洞修复用于纠正软件中的错误或
  • 操作系统内存管理——分区、页式、段式管理

    http blog csdn net hguisu article details 5713164 t0
  • python中re模块的group()和groups()

    group和groups是两个不同的函数 一般 m group N 返回第N组括号匹配的字符 而m group m group 0 所有匹配的字符 与括号无关 这个是API规定的 m groups 返回所有括号匹配的字符 以tuple格式
  • JMM概述

    文章目录 简介 什么是JMM JSR 133规范 JMM结构规范 主内存和本地内存结构 JMM的三个特征 原子性 Atomicity 可见性 有序性 关键词synchronized与volatile总结 重排序 处理器重排序与内存屏障指令
  • Angular4 数据请求 POST、GET

    创建项目 ng new OBJECT NAME 创建一个名为 httpRequest 的服务 ng generate service httpRequest 在app module ts 里面添加 providers HttpRequest
  • JAVA 正则表达式 (超详细) .

    在Sun的Java JDK 1 40版本中 Java自带了支持正则表达式的包 本文就抛砖引玉地介绍了如何使用java util regex包 可粗略估计一下 除了偶尔用Linux的外 其他Linu x用户都会遇到正则表达式 正则表达式是个极
  • java 交流学习微信群

    专注Java相关技术 SSM Spring全家桶 微服务 MySQL 集群 dubbo 分布式 中间件 Linux 网络 多线程 Jenkins Nexus Docker ELK等等 相关开发的兼职信息等 微信 18210730150 由于
  • SQL server基本的代码操作

    一 数据库相关操作 1 创建数据库 创建一个具有2个文件组的数据库test1 要求 1 主文件组包括文件test1 dat1 文件初始大小为20 MB 最大为60 MB 按5 MB增长 2 文件组test1 Group1包括文件test1
  • 智力题:砝码称重问题

    第一题 假设有280g食盐 有一架天平 有两个砝码 分别是14g 4g 请问能否在3次内将280g食盐分为100g和180g两堆 请详细描述你的解决方法 解法一 第一次 平分280g的食盐 140g 140g 目前重物 食盐 140g 14
  • java中的数组初始化赋初值

    方法一 int vis1 声明未初始化 vis1 new int 100 定义占用空间大小 100个int for int i 1 i lt 5 i vis1 i i 进行赋值 for int i 1 i lt 100 i System o
  • Ogre粒子编辑器ParticleUniverse

    最近需要使用粒子系统制作一些特效 由于没有美术人员的帮助 制作难度可想而知 在苦闷中 找到了ParticleUniverse 这也是Torchlight采用的粒子系统 ParticleUniverse包括Particle Universe
  • 配置跳转指定_http自动跳转https的配置方法

    这篇文章主要介绍了http自动跳转https的配置方法 需要的朋友可以参考下 IIs中实现Http自动转换到Https方法介绍 403跳转对SEO有一定影响 1 下载安装URL重写模块 Microsoft URL Rewrite Modul
  • Llama-1|Alpaca-LoRA 微调模型下载以及安装推理教程

    Llama 1 Alpaca LoRA 微调模型下载以及安装推理教程 经常玩AI的人应该对LoRA这一词并不陌生 尤其是在SD绘画领域 各种角色的LoRA模型层出不穷 那么语言领域是否存在LoRA呢 存在 且繁荣 LoRA你可以理解为语言模
  • c++随机数加随机种子(用时间为随机种子)随机每次运行都不同

    srand 功能 初始化随机数发生器 用法 srand unsigned int seed 需要头文件 stdlib h 返回值 void无返回值 rand 产生的随机数在每次运行的时候都是与上一次相同的 若要不同 用函数 srand 初始
  • [软考笔记]存储管理——页式,段式,段页式

    页式存储 4kb为1页 考点 逻辑地址和物理地址之间的转换 1 先区分逻辑地址哪一部分是页号 哪一部分是页内地址 2 根据页内地址确定物理地址 后面那块 3 再根据页号查找块号 4 拼接起来就是物理地址 解题过程 1 将页面大小转化为二进制
  • 网络工程师课程---7、网络通信综合实验(做网络基础综合实验 用什么软件)...

    网络工程师课程 7 网络通信综合实验 做网络基础综合实验 用什么软件 一 总结 一句话总结 cisco packet p k t tracer tre s packet 英 p k t 美 p k t n 数据包 信息包 小包 小捆 vt
  • 【区块链】万向区块链罗荣阁:为什么区块链是解决汽车供应链金融痛点最优雅的方案?

    本文整理自万向区块链CTO罗荣阁在万向区块链实验室主办的第三届区块链全球峰会 2017 9 14 16 上的演讲速记稿 点击阅读原文可观看完整演讲视频 罗荣阁在第三届区块链全球峰会演讲 区块链是一个伟大的创新 能够解决一些传统技术难以解决的
  • 【转载】【stm32】一键下载电路

    原创Nerute 2018 11 18 01 11 10 2361 首先感谢正点原子的开源资料 下面贴上正点原子一键下载电路的原理图 很显然 核心是一块CH340芯片 什么是CH 请看手册 再来就是引脚说明 了解一键之前 我们还得知道 st