搜索
bottom↓
回复: 17

自己制作的 arduino 2560 上电后大约8-9秒才开始执行程序?

[复制链接]

出0入0汤圆

发表于 2020-2-8 20:55:02 | 显示全部楼层 |阅读模式
因为没有原版的 也不知道原版上电后多久开始,执行,刷官方的 LED blinks 程序,如果不断电,会立即闪烁,如果拔了,USB线缆再插进去 就需要8-9秒才开始闪烁,请教下大家有遇到过么?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2020-2-8 21:11:12 来自手机 | 显示全部楼层
换个固件试试

出0入0汤圆

 楼主| 发表于 2020-2-8 21:30:36 来自手机 | 显示全部楼层
我烧录的是 stk500v2 那个 我试试别的

出0入0汤圆

 楼主| 发表于 2020-2-8 21:35:28 来自手机 | 显示全部楼层
stk500v5 文件夹里的 两个都不行 都是这个问题 我

出0入0汤圆

发表于 2020-2-8 22:21:55 | 显示全部楼层
ide里面有个boards.txt,详细说明了哪个板子烧录哪个固件及固件路径,熔丝位,通信参数

出0入0汤圆

 楼主| 发表于 2020-2-8 22:32:59 来自手机 | 显示全部楼层
rf_smart 发表于 2020-2-8 22:21
ide里面有个boards.txt,详细说明了哪个板子烧录哪个固件及固件路径,熔丝位,通信参数 ...

谢谢 已经查看了 并且按照上面的烧写了 目前除了 断电重新上电后 需要8-9秒 才执行程序一切正常,  不知道是不是原版就是这样的

出0入149汤圆

发表于 2020-2-8 22:41:03 来自手机 | 显示全部楼层
usb转串口芯片在枚举时反复反正dtr引脚,导致芯片反复复位,只能换串口芯片。

出0入149汤圆

发表于 2020-2-8 22:42:04 来自手机 | 显示全部楼层
反复反正---反复翻转

出0入0汤圆

 楼主| 发表于 2020-2-8 22:43:45 来自手机 | 显示全部楼层
Momo 发表于 2020-2-8 22:41
usb转串口芯片在枚举时反复反正dtr引脚,导致芯片反复复位,只能换串口芯片。 ...

usb转串口芯片是 atmega16u2 就是原装用的那个可以烧写 fireworks 那个,是他的原因?  现在是不知道原版 也是这样 要8-9秒 才能启动么? 还是我自己的原因

出0入0汤圆

发表于 2020-2-8 22:51:09 | 显示全部楼层
bootloader的原因,为了防止你烧录了占用串口或者死循环程序导致无法下载代码,
你看这段话
0
我们为Pro Micro提供了Arduino Leonardo引导加载程序的修改版本,并进行了一项重大改进。 当Leonardo(或使用“标准”自举程序的任何设备)从外部复位时,它将返回自举程序……并在那里等待八秒钟,然后才开始运行草图。 对于某些嵌入式项目,不允许在程序运行之前等待八秒钟,因此我们修改了引导加载程序的运行时间。


出0入0汤圆

 楼主| 发表于 2020-2-8 22:55:23 来自手机 | 显示全部楼层
jcrorxp 发表于 2020-2-8 22:51
bootloader的原因,为了防止你烧录了占用串口或者死循环程序导致无法下载代码,
你看这段话
0

这句话是在哪儿看到的? 我想去看看 有办法改进它么

出0入0汤圆

发表于 2020-2-8 23:04:02 | 显示全部楼层
jjkk1314T 发表于 2020-2-8 22:55
这句话是在哪儿看到的? 我想去看看 有办法改进它么

你只要找到这个bootloader的代码,然后把时间改一下 重新编译一遍再烧录去你的2560就好了。
因为是开源的 应该也能找到的,不过要花点时间了。
注意下面链接可能需要科学地去局域网才能打开,
https://learn.sparkfun.com/tutor ... v3-hookup-guide/all

出10入284汤圆

发表于 2020-2-8 23:35:21 来自手机 | 显示全部楼层
这个等待时间包含2部分,一个是USB转串口的枚举,另一个是bootloader上电后要等几秒看有没有固件传过来

出0入0汤圆

 楼主| 发表于 2020-2-8 23:50:10 来自手机 | 显示全部楼层
brother_yan 发表于 2020-2-8 23:35
这个等待时间包含2部分,一个是USB转串口的枚举,另一个是bootloader上电后要等几秒看有没有固件传过来 ...

怎么 uno r3 没有这个时间呢?很奇怪

出10入284汤圆

发表于 2020-2-8 23:55:13 来自手机 | 显示全部楼层
jjkk1314T 发表于 2020-2-8 23:50
怎么 uno r3 没有这个时间呢?很奇怪

我自己做的nano有,大概1.5s?你可以试试把rst接到vcc然后再插拔,就知道是哪一部分的时间了,因为USB枚举就是不停rst单片机

出0入0汤圆

发表于 2023-7-24 17:33:51 | 显示全部楼层
我也遇到这个情况,是X宝买的成品板,研究的原因应该是这样:插入USB后会复位,复位后是从boot区启动,16U2枚举的过程中,TX上出现跳变电平,让bootloader误以为有串口程序需要上传,因为并没有程序上传,所以8-9秒钟超时后跳转到用户程序运行。
其实就是一个小bug,如果在枚举完成等待TX电平稳定后再让DTR执行一次复位,就不需要等这么久。


出0入0汤圆

发表于 2023-7-25 12:31:07 | 显示全部楼层
试着将16U2的USB转串口程序在上电后稍等一会复位一下2560,可以避免这个问题,供大家测试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2023-7-25 16:46:50 | 显示全部楼层
有坛友知道arduino mega 2560是怎么判断是否有用户程序的吗,在用户程序全为0xFF只有bootloader的时候,复位后会一直在boot区等待,在有用户程序的时候,复位后bootloader检测一会儿没有上传数据就跳去用户程序区运行用户程序。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-17 02:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表