当前位置 : 主页 > 网络编程 > 其它编程 >

ISP一键下载电路,上电瞬间引起单片机复位

来源:互联网 收集:自由互联 发布时间:2023-07-02
STM32支持仿真器和串口下载程序。将要介绍的内容属于串口下载即我们通常说的ISP下载。手动ISP下载程序我们已经知道了image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV
STM32支持仿真器和串口下载程序。将要介绍的内容属于串口下载即我们通常说的ISP下载。手动ISP下载程序我们已经知道了image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1aGFvMDI1OA,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述" /> STM32支持仿真器和串口下载程序。将要介绍的内容属于串口下载即我们通常说的ISP下载。

手动ISP下载程序我们已经知道了控制BOOT0引脚实现。STM32上电会自动检测BOOT0引脚是什么电平如果是高电平等待用户下载程序如果是低电平运行用户之前下载到单片机的程序。所以我们需要把BOOT0引脚引出然后控制其接地或接VCC来下载程序或者运行程序。在调试过程中我们需要不断的控制BOOT0非常麻烦。那么自动ISP就该出场了。

自动ISP把BOOT0与地直接连接那么每次上电就会运行程序而且只要点击电脑上的“下载”按钮就开始下载程序下载完程序就开始执行。实现此目的需要借助串口握手信号DTR和RTS。

下面是深圳鹏远电通科技有限公司研发的免费ISP下载软件请看红色的框里面的部分。

STM32ISP软件中DTR和RTS

DTR连接RESET复位引脚控制复位RTS连接BOOT0用来控制程序运行或者等待下载。

下面说明如何用USB转TTL芯片实现STM32自动ISP。CH340芯片如下图在这里插入图片描述

CH340G

CH340芯片DTR和RTS引脚在一般情况下是高电平低电平有效。因为STM32的RESET引脚也是一般情况下是高电平低电平复位所以DTR可以与RESET直接连接。但是BOOT0是高电平下载程序低电平运行程序正好与RTS相反所以我们需要把它反相加一个NPN三极管即可。电路如下图所示 在这里插入图片描述

STM32自动ISP电路

ISP软件的选择 在这里插入图片描述

STM32自动ISP软件DTR和RTS的选择

看了上图的选择有些人一定会产生疑虑。按道理应该是低电平复位然后低电平进入BOOTLoader呀。但是有一点需要注意它这里讲的高低电平是针对电脑原始的9针串口的也就是“232电平”我们用的USB转TTL芯片是“TTL电平”正好相反。

下载过程和结果如下图所示

STM32自动ISP过程 在这里插入图片描述

注意CH340在刚上电稳定需要几秒钟时间在此期间DTR引脚会有两次或者三次的变低情况这样会引起单片机上电后复位两三次稳定后不会影响程序运行。如果不想让单片机上电复位好几次上电的时候把DTR与RESET断开即可。 在这里插入图片描述 上图的D7不焊接 可以接一个按键接地手动控制复位。只控制RTS为高即可。

上一篇:Python并发编程–线程通信
下一篇:没有了
网友评论