历史上的今天
返回首页

历史上的今天

今天是:2025年12月12日(星期五)

正在发生

2022年12月12日 | 关于STM32单片机采用CH340串口烧写程序的细节

2022-12-12 来源:zhihu

针对STM32系列单片机,大家一般采用STLink和Jlink来下载程序,这里我们试一下CH340 USB转串口芯片的下载方法,主要是将Boot电平设置好。
采用:STM32F103C6T6芯片microUSB 接口连上电脑,com3端口
环境:Win10,提前安装好CH340/341系列的驱动
针对BOOT0和BOOT1的不同接线方式(高电平,低电平,不接线),开发板的下载情况分析如下图:(“x”代表不接线,“√”代表能成功下载)

Boot接线方式

首先对BOOT0与BOOT1如何连接及连接方式介绍一下。
STM32 单片机的BOOT0 和BOOT1 应用原理
STM32 三种启动模式对应的存储介质均是芯片内置的,它们是:
1)主闪存存储器= 芯片内置的Flash。这也是正常工作模式
2)SRAM = 芯片内置的RAM 区,就是内存啦。
3)系统存储器= 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说
的ISP 程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区。
在每个STM32 的芯片上都有两个管脚BOOT0 和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复
一般不使用内置SRAM 启动(BOOT1=1 BOOT0=1),因为SRAM 掉电后数据就丢失。
一般BOOT0 和BOOT1 跳线都跳到0(地)。只是在ISP 下载的情况下,BOOT0=1,BOOT1=0 ,下载完成后,把BOOT0 的跳线接回0,也即BOOT0=0,BOOT1=0 ,也可以不用更改
我们在这里采用CH340串口烧写下载程序,BOOT0和BOOT1分别设置为1和0,下载后可直接运行,但复位后代码不执行,可以在调试过程中,不用频繁更改boot电平
注意:如果JTAG 相关的引脚被用作普通IO,将无法下载(BOOT0 为低电平的情况下)。解决办法是用串口下载一次程序后再用JLINK 下载,或者将BOOT0 配置成高电平后下载。
Keil5中代码STM32单片机C语言代码如下:

Keil5代码情况

编译好后,在FlyMcu软件进行下载:

将Boot电平设置好,

选好要下载的.hex文件,设置为STMISP

DTR的低电平复位,RTS高电平进BootLoader

点击开始编程,结果如下图:

FlyMcu软件下载界面

耗时1.5s左右,写入1kb,下载完后,可看到STM 32 单片机开始执行程序,小灯开始闪烁(5mm黄色发光二极管,插在面包板上,正极(白色公专转母杜邦线)接A0引脚,负极接GND引脚(黑色公专转母杜邦线),其间串联一个220Ω的色环电阻)
效果如下图:

LED闪烁


推荐阅读

史海拾趣

DAICO公司的发展小趣事

DAICO公司深知品质的重要性,因此在生产过程中严格遵循国际标准和规范。公司不仅建立了完善的质量管理体系,还通过了多项国际认证,如ISO 9001等。这些认证证明了DAICO在产品质量和管理水平方面的实力,进一步提升了其在国际市场上的竞争力。

EWC Controls公司的发展小趣事

在电子行业中,EWC Controls公司选择了工业自动化控制这一细分领域作为切入点。通过深入了解行业需求和痛点,公司专注于研发和生产符合市场需求的高品质产品。例如,在食品加工行业,EWC Controls公司针对温度、湿度等关键参数的控制需求,开发出了一套高效稳定的控制系统,帮助食品加工企业提高了生产效率和产品质量。这种深耕行业、专注细分领域的策略使得EWC Controls公司在市场中逐渐崭露头角。

CDI-DIODE公司的发展小趣事

随着环保意识的日益增强,电子行业也开始向绿色生产转型。CDI-DIODE公司积极响应这一趋势,投入大量资源研发环保型二极管产品,并采用环保材料和生产工艺。这种绿色生产方式不仅降低了公司的生产成本,也符合了社会的可持续发展需求,为公司的未来发展奠定了坚实的基础。

这五个故事虽然是虚构的,但它们反映了电子行业中企业可能面临的一些共同挑战和机遇。无论对于CDI-DIODE公司还是其他企业,这些故事都具有一定的借鉴意义。

Eagle Plastic Devices公司的发展小趣事

为了保持技术领先地位和满足不断变化的市场需求,Eagle Plastic Devices公司不断加大研发投入,引进先进的研发设备和人才。公司建立了完善的研发体系,包括新产品开发、工艺改进、性能测试等环节。通过不断的技术创新和产品升级,Eagle Plastic Devices公司成功推出了多款具有竞争力的新产品,进一步巩固了其在行业内的领先地位。

EPC公司的发展小趣事

最后一家EPC公司深知创新是企业发展的核心动力。公司注重研发投入和人才培养,建立了专业的研发团队和完善的研发体系。公司不断跟踪行业发展趋势和技术动态,积极引进新技术、新工艺和新材料,推动产品升级和产业升级。同时,公司注重创新成果的转化和应用,将新技术、新工艺和新材料应用于实际项目中,提高了项目的竞争力和附加值。通过持续的创新和积累,公司逐渐在电子行业中形成了独特的技术优势和核心竞争力。

请注意,以上故事仅为框架性描述,并未包含具体的公司名称、项目细节和具体数字。您可以根据这些框架性描述进一步深入了解相关公司的发展情况,并结合实际案例进行具体分析和撰写。

Bce Sud公司的发展小趣事

随着技术的成熟,Bce Sud开始积极拓展市场,与多家电子设备制造商建立了合作关系。通过与这些企业的紧密合作,Bce Sud的产品逐渐应用于智能手机、平板电脑等消费电子产品中。同时,公司还积极寻求与上下游企业的战略合作,共同推动产业链的升级与发展。

问答坊 | AI 解惑

如何保证12864动态显示

如何保证12864动态显示,小弟现在在做一个12864的显示。分别要显示四行! 第一行 A相无功电流 第二行 (显示对应第一行的数据)XX.XXA 第三行 A相电流系数  第四行(显示对应第三行的数据)XXX 其中 X 表示的是数据,第2行是实时采集到的 ...…

查看全部问答>

ce1的问题

目前在调试4口ce1的卡,pmc4564芯片,初始化到寄存器f8(好象是使能LOS检测)的时候,整个寄存器空间都变成0了,看datasheet好象是说LOS造成这种状况,不知道这里的信号丢失指的什么信号,为何会丢失.…

查看全部问答>

COM Port

本人最近在用YLS3C2440开发板,准备用一个GPRS模块,该模块是USB 转 串口的, 通过USB口接到开发板上,通过COM1 连接,可老提示该端口被占用,我开始以为是调试串口占用了,我disable调试串口,不让它输出消息,可问题依然。我打开platform.reg, 可发现注释 ...…

查看全部问答>

学习单片机用什么工具

我刚刚学习单片机. 不知道用什么板子比较好. 现在用的是 SHX-ARM9的板子...... 希望大家给点建议.…

查看全部问答>

在单片机上建一个游戏平台有可能实现吗?

要实现一个游戏平台,使得游戏文件可以自动运行的话,硬件上有什么要求吗? 如果是在单片机上有可能实现这样一种平台吗? 谢谢.…

查看全部问答>

想问一下大家F149和F1612完全通用吗

rt,主要是引脚定义之类的,我再往上买了一块pcb,原来卖家使用149的,一切正常,我ti上申请了1611和1612,装上去以后往里面写程序的时候老师出现编程失败,用bsl编程,用pl2302芯片使用usb写代码   编程的时候就是出现开始编程。。。。然后 ...…

查看全部问答>

串口发送字符串的问题

请教一下,用C写430程序的时候,输出一个int或者更长的变量到串口怎么做最好? 例程中没有相关代码,谢谢!!…

查看全部问答>

小弟初学430啊很多不懂,请问各位大哥:MSP430 LaunchPad能用来给F149下载程序吗?

暑假想用F149做一小车,想在网上买个149的最小系统,不知道是否一定要买编译器啊,用MSP430 LaunchPad的可不可以啊? [ 本帖最后由 zengjianda 于 2012-5-19 19:39 编辑 ]…

查看全部问答>

易电源实战心得

按我的周计划,我得搭个电路给单片机供电。接着上次设计的5伏电路图。我找了几个最接近的电阻。焊了起来。我的焊功很好的。我用焊枪可焊BGA封装的东东。但这次,黑黑,大家见笑了。上图 焊好后的照片。由于是5伏。我接的是STC的单片机。程序很简 ...…

查看全部问答>