用Qt编写STM32烧录软件(ISP模式)
stm32有个自举模式,可以用来烧录程序。
我买的板子上有可以串口烧录功能,其中电路原理图如下(注意,这个图是错误的,因为正确的是三极管Q1、Q2分别一个为PNP一个为NPN,正确的图在这里):
boot0、boot1的作用
NRST的作用
或者改成这样看
其中重点是可以通过操作CH340的RTS、DTR引脚来使stm32进入烧录模式。
而qt可以通过这两个代码来操作这两个引脚参考资料:
bool setDataTerminalReady(bool set)bool setRequestToSend(bool set)//进入ISP模式
void MainWindow::enterBootLoader()
{//boot0 为1//NRST 为0 进入复位mPort->setRequestToSend(true);mPort->setDataTerminalReady(false);QThread::msleep(100);//boot0 为1//NRST 为1 从复位中恢复,并且进入ISP模式mPort->setDataTerminalReady(true);
}//进入正常模式
void MainWindow::enterFlash()
{//boot0 为1 主要目的是电路上的导通//NRST 为0 进入复位mPort->setRequestToSend(true);mPort->setDataTerminalReady(false);//boot0 为0; 由于电路上的设计 ,此时实际上除了boot0发生改变之外,NRST也发生了变化mPort->setRequestToSend(false);
// //NRST 为1 取消复位;此时这个可要可不要
// mPort->setDataTerminalReady(true);
}
因此,只要参考资料就可以实现对编译好的程序进行烧录了。
自举模式通讯
上面的那个资料是中文版的,可惜不能下载,这里有个英文的,可以下载
ISP下载软件的下载流程
其中HEX文件的解析:
https://blog.csdn.net/yx_l128125/article/details/13624947
—20211208—
今天突然发现个问题:QSerialPort的write函数,其实并不是同步的。
也就是说当调用该函数,并取得返回值后,并不是表示数据已经完全发送出去了。
假如在调用完这个函数之后,立马析构掉QSerialPort对象,那么对方很可能会什么也收不到。
用Qt编写STM32烧录软件(ISP模式)相关推荐
- 用Qt编写STM32烧录软件(ISP模式)代码
1.前言 之前写了一篇[用Qt编写STM32烧录软件(ISP模式)],但是在文中没有具体的实现代码. 现在补上,各位有兴趣的同学可以参考以下.但是代码里面还有很多没有完善的,必定会存在一些bug,目前 ...
- stm32烧录软件_stm32怎么烧录程序
STM32烧录程序目前笔者知道的有三种:JLink ,Ulink和串口烧录,使用工具分别为:JLink,ULink以及USB转TTL线. ULink 烧录程序 在安装MDK过程中,会有提示是否安装驱动 ...
- Qt编写的小软件:一个模拟按键按下和鼠标(左键)按下的小工具
最近玩SLG游戏的时候有大量对剧情推进无意义的对话想要跳过的时候只能狂按空格键或者狂点鼠标,还好本人好歹是程序员,于是写了个小工具来处理. 下载地址:Qt编写的模拟鼠标按下和按键按下的小工具-C++文 ...
- stm32烧录软件_使用华为LiteOS Studio开发STM32物联网工程1
本节介绍如何使用HUAWEI LiteOS Studio 开发STM32开发板工程.开源LiteOS工程,支持STM32F429IG.STM32L431RC.STM32F769NI等STM32系列开发 ...
- Stm32开发1-蓝牙实现STM32的无线烧写程序 ISP模式 串口1不受影响 无线下载
最近研究如何实现Stm32的无线烧写程序.从CSDN上看到大部分的无线烧写方法,大都是采用ESP8266+CMSIS-DAP的方式,其能下载也能调试程序,也能通过虚拟串口通信.但是其串口应该是用软件实 ...
- 单片机烧录软件编写_单片机技术系列之一:单片机概述
按控制要求设计好单片机电路原理图后,还要依据电路原理图将实际的单片机电路制作出来.制作单片机电路有两种方法:一种是用电路板设计软件(如Protel99SE软件)设计出与电路原理图相对应的PCB图(印制 ...
- LPC55S16 ISP模式 下载程序-flash magic 软件
1:下载并安装Flash Magic软件. 该软件免费使用. Flash Magic软件下载 2:生成Hex文件---IDE使用mcu-xpresso 右键.axf文件,Binary Utilitie ...
- STM32的DAC软件触发模式配置
DAC软件触发模式配置 软件触发模式配置步骤如下, DAC可以使用定时器外部触发,也可以软件触发. ①使能DAC时钟及GPIO的模拟复用时钟. ②配置DAC电压输出的GPIO为DAC模拟复 ...
- STM32基于软件模拟IIC进行AHT21B温湿度采集
STM32基于软件模拟IIC进行AHT21B温湿度采集 一. IIC简介 1.1 IIC简介 1.2 实现方式 1.3 实现方式对比 二. AHT21B简介 2.1 简介 2.2 产品特点 2.3 外 ...
最新文章
- 简单套路发高分文章--杨树内生和根际微生物组结构
- 基于脑功率谱检测飞行过程认知网络的脑机接口
- History命令用法
- LeetCode 147. Insertion Sort List 链表插入排序 C++/Java
- C++实现digkstra最短路径算法(附完整源码)
- 【CF1045A】A Last chance【贪心】【线段树优化建图】【网络流构造方案】
- html-iframe_HTML iframe
- php asp写法,asp/php常用的库连接文件代码写法大全
- 6-3-1:STL之vector——vector的快速入门、常用接口
- 计算机能够这样玩—自我学习,自我思维,自我工作(编程)
- 让cxGrid只取一部分数据
- jumpserver 跳板机
- synchronized锁升级之偏向锁
- android 辅助音量放大,为什么总是感觉手机音量太小?教你开启这个功能,声音瞬间放大一倍...
- IP 地址、网络号和主机号、ABC三类、ip地址可分配问题、子网掩码、子网划分
- matlab的from模块_Matlab中SIMULINK的模块库以及比较常用的模块
- 解决Windows10关闭UAC后,开机启动项不生效的问题
- 涂涂乐的详细实现之一--画笔核心功能
- 想知道照片一键换天空怎么弄?推荐两款图片编辑软件
- Redis——狂聊教程笔记