步骤一:
要在板子上设置一下,在板子上把 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 串口程序下载相关推荐
- 学习笔记三(STM32串口程序下载新建工程模板)
STM32串口程序下载 STM32F4 的程序下载有多种方法:USB.串口.JTAG.SWD 等,这几种方式,都可以用来给STM32F4下载代码. 利用串口给STM32下载程序 STM32 的串口下载 ...
- 使用CH340串口模块对STM32进行程序下载
使用CH340串口模块对STM32进行程序下载 一.接线 二.利用FlyMcu进行STM32程序下载 1.STM32配置 2.FlyMcu配置 一.接线 CH340 STM32 VCC VCC GND ...
- 【STM32】程序下载(串口方式)
00. 目录 文章目录 00. 目录 01. 概述 02. STM32F4开发板设置 03. 串口下载程序步骤 04. 附录 05. 声明 01. 概述 STM32F4 的程序下载有多种方法:USB. ...
- 【STM32】程序下载(ST-LINK V2)
00. 目录 文章目录 00. 目录 01. ST-LINK介绍 02. ST-LINK驱动下载 03. ST-LINK驱动安装 04. Keil软件设置 05. 附录 07. 声明 01. ST-L ...
- STM32的程序下载方式
MiniSTM32f103rct6 一.ch340下载方式: 1.设置:(需要使用到ch340转ttl) USB下载器的TXD端接单片机上PA10(RX1)或接UART1上的RX1 USB下载器的RX ...
- STM32 串口ISP下载
- stm32f103HC05蓝牙串口程序和自制手机APP
我最近用stm32的蓝牙串口功能,写了这篇文章分享,有不足之处欢迎指正. 一.准备 功能:用APP控制STM32F103单片机上的部件如:LED小灯. 硬件:蓝牙模块.STM32F103mini(或其 ...
- STM32F4 | 最小系统设计 | 开发板资源介绍 | 开发环境搭建 | 程序下载
文章目录 一.STM32最小系统设计 1.什么叫MCU最小系统? 2.STM32最小系统 2.1 供电电路(电源部分) 2.2 复位电路 2.3 时钟电路 2.4 BOOT启动模式选择 2.5 下载电 ...
- STM32使用Jlink下载出现NO cortex-M SW device Found解决(超详细)
STM32使用Jlink下载出现NO cortex-M SW device Found解决 之前都是使用ST-link进行STM32的程序下载,最近手里有一个jlink.所以想用jlink试一试. 我 ...
- STM32串口下载程序(官方下载软件)
ST官方有一款专门用于串口下载程序的下载软件STM32 Flash loader demonstrator (FLASHER-STM32),目前的最新版本是V2.8.0版,下载链接如下: https: ...
最新文章
- leetcode:Search in Rotated Sorted Array
- 【怎样写代码】工厂三兄弟之抽象工厂模式(三):产品等级结构与产品族
- java参数传递(超经典)
- 5款非常好用的前端在线编辑器推荐
- 车辆姿态相关的一些传感器
- 737 页《吴恩达深度学习核心笔记》发布,黄海广博士整理!
- PCB生成光绘文件教程 (Z)
- 为什么你总是申请不到大额贷款?
- 用公众号获取 任意公众号文章列表 软件还是免费
- 【渝粤题库】国家开放大学2021春2625调剂学题目
- Java native方法availableProcessors()获取处理器数量的底层C++实现
- Docker的网络配置:创建网桥
- 张家口以太坊智能合约开发实战pdf_以太坊2.0:实现可扩展性之路漫长而曲折
- A 服务器上运行B 服务器上可以正常运行的程序出现问题
- java audiostream 用不了_AudioInputStream不起作用
- 表达式求值(from leetcode 241)
- 页面滚动图片等元素动态加载实现本质
- self = [super init]的解释
- 寒江独钓——win内核编程读书笔记-1
- mysql删除的方法_mysql三种删除方式
热门文章
- 利用nginx搭建静态资源服务器,把服务器本地文件对外可直接访问
- 关于IE11浏览器不能正确调用ActiveX控件的解决办法
- cad卸载_永远不舍得卸载的6款CAD插件,完全免费,让你三小时做一套图!
- 灰度思维,黑白决策(下)
- java 动态性之反射机制 详解 案例,mybatis字段映射原理
- 工欲善其事,必先利其器——Web开发的10大IDE
- 手把手教你一整套R语言数据分析+建模流程
- Java 绘制图标(饼状图)JFreeChart快速通过Java创建图表
- Steam WIN+R喜加一游戏管理工具 Steam Code Manager
- Java基础知识面试题(2021年最新版,持续更新...)整理