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

【原创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步是让程序加载运行。

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

STM32是一种微控制器,它具有丰富的功能和灵活的架构,可以用于各种应用领域。一键开机电路是一种设计,可以通过简单的操作实现设备的快速启动。软件部分则是对STM32进行编程,以实现一键开机功能。 在一键开机电路中,通常会使用一个按钮来触发开机操作。当用户按下按钮时,按钮的信号会被传递给STM32微控制器。在软件方面,可以通过配置IO口为外部中断,以便在检测到按钮按下时触发相应的中断程序。 在中断程序中,我们可以编写代码来初始化各个外设,并配置系统时钟和其他必要的功能。然后,可以开始执行主程序,该程序可以包括用户自定义的功能,以及与外部设备的通信和控制等。 在软件方面,需要使用STM32的集成开发环境(如Keil等)来编写程序,并利用相关的库函数和驱动程序来实现一键开机功能。首先,我们需要编写中断处理函数,然后进行IO口的初始化和中断配置。接下来,需要编写主程序,其中包括各个外设的初始化、系统时钟的配置等。 在软件开发过程中,还需要注意异常处理和错误处理,以确保系统的稳定性和可靠性。此外,还可以添加一些额外的功能,如状态指示灯、电源管理等,以增加便利性和用户体验。 总之,STM32一键开机电路软件是对STM32微控制器进行编程来实现一键开机功能的过程。通过合理的设计和正确的编程,可以实现快速启动和可靠的系统操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值