关于自制Arduino MEGA2560的一点记录

本文分享了作者在使用Arduino MEGA2560开发过程中遇到的一些问题及解决方案,包括烧写bootloader、IDE上传程序的难题解决办法,以及如何实现一键上传程序等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近受托制作一个基于Arduino MEGA2560的板子,在电路上增加些接口可以不用外接模块。由于很久没接触Arduino,一些操作都忘记了,现记录下以后再搞时候碰到问题以备回忆。

1.  烧写bootloader的问题

在宝上找了个最便宜的USBtinyISP,驱动装了,也显示正常,但就是不能用。然后再买个了贵的USBisp(ZF-009+)就OK了。

2. IDE上传程序的问题

由于板子尺寸限制,串口选择CH340N芯片,电路最简单。但下载程序一直显示超时。尝试换了现成的FT232,也是一样。

一个有意思的现象是,烧写一次bootloader后就能upload一次程序,第2次就不行。校验bootloader并没问题。

网上检索一番,是要按reset一段时间才行,也没用。

最后查看bootloader源代码,发现

似乎默认是1s等待IDE进入下载程序进程。果然是1s,需要反应快。。。

以后有时间重新编译一个等待时间长点的bootloader。。。。。

3. 操作步骤如下

按下reset键

观察“编译......”

当显示“上传”的时候,立即释放reset键(必须在1秒内!!)

OK,上传成功

4.补充:一键upload

按reset然后upload很不方便,浏览牛人帖子,使用了CH340的DTR引脚实现自动reset功能。研究分析CH340N虽然没有DTR引脚,但有RTS引脚。

DTR是数据准备好告知接收端,RTS是请求发送,都是输出。用示波器观察,Arduino IDE启动upload的整个过程是拉低RTS引脚的。

那么,RTS的下降沿就可以触发一次reset了,这个耦合电容比复位的计时电容要大。试验结果很满意,能够实现一键upload,运行应用程序时串口也能正常工作(不使用RTS)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值