步骤一:

要在板子上设置一下,在板子上把 P4 端子的 RXD 和 PA9(STM32 的 TXD),TXD 和 PA10(STM32 的 RXD)通过跳线帽连接起来,这样我们就把 CH340G 和 MCU 的串口 1 连接 上了。
为了让下下载完后可以按复位执行程序,我们建议大家把 BOOT1 和 BOOT0 都设置为 0。设置完成如图 4.2.1 所示:
这里简单说明一下一键下载电路的原理,我们知道,STM32 串口下载的标准方法是两个步骤:
1, B0 接 V3.3(保持 B1 接 GND
2, 按一下复位按键
通过这两个步骤,我们就可以通过串口下载代码了,下载完成之后,如果没有设置从0X08000000 开始运行,则代码不会立即运行,此时,你还需要把 B0 接回 GND,然后再按一 次复位,才会开始运行你刚刚下载的代码。所以整个过程,你得跳动 2 次跳线帽,还得按 2 次 复位,比较繁琐。而我们的一键下载电路,则利用串口的 DTR 和 RTS 信号,分别控制 STM32 的复位和 B0,配合上位机软件(flymcu,即 mcuisp 的最新版本),设置:DTR 的低电平复位, RTS 高电平进 BootLoader,这样,B0 和 STM32 的复位,完全可以由下载软件自动控制,从而 实现一键下载。

步骤二:

接着我们在 USB_232 处插入 USB 线,并接上电脑,如果之前没有安装 CH340G 的驱动(如果已经安装过了驱动,则应该能在设备管理器里面看到 USB 串口,如果不能则要先卸载之前的 驱动,卸载完后重启电脑,再重新安装我们提供的驱动),则需要先安装 CH340G 的驱动,找 到光盘→软件资料→软件 文件夹下的 CH340 驱动,安装该驱动,如图 4.2.2 所示:
在驱动安装成功之后,拔掉 USB 线,然后重新插入电脑,此时电脑就会自动给其安装驱动了。在安装完成之后,可以在电脑的设备管理器里面找到 USB 串口(如果找不到,则重启下电 脑),如图 4.2.3 所示:
在图 4.2.3 中可以看到,我们的 USB 串口被识别为 COM3,这里需要注意的是:不同电脑可能不一样,你的可能是 COM4、COM5 等,但是 USB-SERIAL CH340,这个一定是一样的。 如果没找到 USB 串口,则有可能是你安装有误,或者系统不兼容。

步骤三:

在安装了 USB 串口驱动之后,我们就可以开始串口下载代码了,这里我们的串口下载软件选择的是 flymcu,该软件是 mcuisp 的升级版本(flymcu 新增对 STM32F4 的支持),由 ALIENTEK 提供部分赞助,mcuisp 作者开发,该软件可以在 www.mcuisp.com 免费下载,本手册的光盘也 附带了这个软件,版本为 V0.188。该软件启动界面如图 4.2.4 所示:

步骤四:

然后我们选择要下载的 Hex 文件,以前面我们新建的工程为例,因为我们前面在工程建立的时候,就已经设置了生成 Hex 文件,所以编译的时候已经生成了 Hex 文件,我们只需要找到 这个 Hex 文件下载即可。

步骤五:

用 flymcu 软件打开 OBJ 文件夹,找到对应的 hex 文件 Template.hex,打开并进行相应设置后,如图 4.2.5 所示:

图 4.2.5 中圈中的设置,是我们建议的设置。编程后执行,这个选项在无一键下载功能的条件下是很有用的,当选中该选项之后,可以在下载完程序之后自动运行代码。否则,还需要按 复位键,才能开始运行刚刚下载的代码。

步骤六:

编程前重装文件,该选项也比较有用,当选中该选项之后,flymcu 会在每次编程之前,将hex 文件重新装载一遍,这对于代码调试的时候是比较有用的。特别提醒:不要选择使用 RamIsp, 否则,可能没法正常下载。
最后,我们选择的 DTR 的低电平复位,RTS 高电平进 BootLoader,这个选择项选中,flymcu就会通过 DTR 和 RTS 信号来控制板载的一键下载功能电路,以实现一键下载功能。如果不选择,则无法实现一键下载功能。这个是必要的选项(在 BOOT0 接 GND 的条件下)。 在装载了 hex 文件之后,我们要下载代码还需要选择串口,这里 flymcu 有智能串口搜索功能。每次打开 flymcu 软件,软件会自动去搜索当前电脑上可用的串口,然后选中一个作为默认的串口(一般是你最后一次关闭时所选择的串口)。也可以通过点击菜单栏的搜索串口,来实 现自动搜索当前可用串口。串口波特率则可以通过 bps 那里设置,对于 STM32F103,可以设置为最高:460800,而如果是 F4,则建议最高设置为:76800 即可。然后,找到 CH340 虚拟的串口,如图 4.2.6 所示:

步骤七:

从之前 USB 串口的安装可知,开发板的 USB 串口被识别为 COM3 了(如果你的电脑是被识别为其他的串口,则选择相应的串口即可),所以我们选择 COM3,波特率设置为 460800。 设置好之后,我们就可以通过按开始编程(P这个按钮,一键下载代码到 STM32 上,下载成 功后如图 4.2.7 所示:
图 4.2.7 中,我们圈出了 flymcu 对一键下载电路的控制过程,其实就是控制 DTR 和 RTS电平的变化,控制 BOOT0 和 RESET,从而实现自动下载。另外,因为 STM32F1 的每次下载 都需要整片擦除,而 STM32F1 的整片擦除是非常慢的(STM32F1 比较快),这里的全片擦除, 得等待几十秒钟,才可以执行完成,请大家耐心等待。但是 ST-LINK 下载不存在这个问题,所以,我们建议,有条件的话,最好还是用 ST-LINK 下载比较快

步骤八:

另外,下载成功后,会有“共写入 xxxxKB,耗时 xxxx 毫秒”的提示,并且从 0X80000000处开始运行了,我们打开串口调试助手(XCOM V2.0,在光盘→6,软件资料→软件→串口调
试助手里面)选择 COM3(得根据你的实际情况选择),设置波特率为:115200,会发现从ALIENTEK MiniSTM32 开发板发回来的信息,如图 4.2.8 所示:
接收到的数据和我们期望的是一样的,证明程序没有问题。至此,说明我们下载代码成功了,并且从硬件上验证了我们代码的正确性。

STM32 串口程序下载相关推荐

  1. 学习笔记三(STM32串口程序下载新建工程模板)

    STM32串口程序下载 STM32F4 的程序下载有多种方法:USB.串口.JTAG.SWD 等,这几种方式,都可以用来给STM32F4下载代码. 利用串口给STM32下载程序 STM32 的串口下载 ...

  2. 使用CH340串口模块对STM32进行程序下载

    使用CH340串口模块对STM32进行程序下载 一.接线 二.利用FlyMcu进行STM32程序下载 1.STM32配置 2.FlyMcu配置 一.接线 CH340 STM32 VCC VCC GND ...

  3. 【STM32】程序下载(串口方式)

    00. 目录 文章目录 00. 目录 01. 概述 02. STM32F4开发板设置 03. 串口下载程序步骤 04. 附录 05. 声明 01. 概述 STM32F4 的程序下载有多种方法:USB. ...

  4. 【STM32】程序下载(ST-LINK V2)

    00. 目录 文章目录 00. 目录 01. ST-LINK介绍 02. ST-LINK驱动下载 03. ST-LINK驱动安装 04. Keil软件设置 05. 附录 07. 声明 01. ST-L ...

  5. STM32的程序下载方式

    MiniSTM32f103rct6 一.ch340下载方式: 1.设置:(需要使用到ch340转ttl) USB下载器的TXD端接单片机上PA10(RX1)或接UART1上的RX1 USB下载器的RX ...

  6. STM32 串口ISP下载

  7. stm32f103HC05蓝牙串口程序和自制手机APP

    我最近用stm32的蓝牙串口功能,写了这篇文章分享,有不足之处欢迎指正. 一.准备 功能:用APP控制STM32F103单片机上的部件如:LED小灯. 硬件:蓝牙模块.STM32F103mini(或其 ...

  8. STM32F4 | 最小系统设计 | 开发板资源介绍 | 开发环境搭建 | 程序下载

    文章目录 一.STM32最小系统设计 1.什么叫MCU最小系统? 2.STM32最小系统 2.1 供电电路(电源部分) 2.2 复位电路 2.3 时钟电路 2.4 BOOT启动模式选择 2.5 下载电 ...

  9. STM32使用Jlink下载出现NO cortex-M SW device Found解决(超详细)

    STM32使用Jlink下载出现NO cortex-M SW device Found解决 之前都是使用ST-link进行STM32的程序下载,最近手里有一个jlink.所以想用jlink试一试. 我 ...

  10. STM32串口下载程序(官方下载软件)

    ST官方有一款专门用于串口下载程序的下载软件STM32 Flash loader demonstrator (FLASHER-STM32),目前的最新版本是V2.8.0版,下载链接如下: https: ...

最新文章

  1. leetcode:Search in Rotated Sorted Array
  2. 【怎样写代码】工厂三兄弟之抽象工厂模式(三):产品等级结构与产品族
  3. java参数传递(超经典)
  4. 5款非常好用的前端在线编辑器推荐
  5. 车辆姿态相关的一些传感器
  6. 737 页《吴恩达深度学习核心笔记》发布,黄海广博士整理!
  7. PCB生成光绘文件教程 (Z)
  8. 为什么你总是申请不到大额贷款?
  9. 用公众号获取 任意公众号文章列表 软件还是免费
  10. 【渝粤题库】国家开放大学2021春2625调剂学题目
  11. Java native方法availableProcessors()获取处理器数量的底层C++实现
  12. Docker的网络配置:创建网桥
  13. 张家口以太坊智能合约开发实战pdf_以太坊2.0:实现可扩展性之路漫长而曲折
  14. A 服务器上运行B 服务器上可以正常运行的程序出现问题
  15. java audiostream 用不了_AudioInputStream不起作用
  16. 表达式求值(from leetcode 241)
  17. 页面滚动图片等元素动态加载实现本质
  18. self = [super init]的解释
  19. 寒江独钓——win内核编程读书笔记-1
  20. mysql删除的方法_mysql三种删除方式

热门文章

  1. 利用nginx搭建静态资源服务器,把服务器本地文件对外可直接访问
  2. 关于IE11浏览器不能正确调用ActiveX控件的解决办法
  3. cad卸载_永远不舍得卸载的6款CAD插件,完全免费,让你三小时做一套图!
  4. 灰度思维,黑白决策(下)
  5. java 动态性之反射机制 详解 案例,mybatis字段映射原理
  6. 工欲善其事,必先利其器——Web开发的10大IDE
  7. 手把手教你一整套R语言数据分析+建模流程
  8. Java 绘制图标(饼状图)JFreeChart快速通过Java创建图表
  9. Steam WIN+R喜加一游戏管理工具 Steam Code Manager
  10. Java基础知识面试题(2021年最新版,持续更新...)整理