请选择 进入手机版 | 继续访问电脑版
查看: 15591|回复: 1

Arduino通过蓝牙下载程序

[复制链接]
发表于 2012-11-20 23:11:37 | 显示全部楼层 |阅读模式
        通常,Arduino IDE通过USB下载程序,指定好主板类型和USB的连接端口,就能顺利下载程序,在正式下载时,数字13 pin连接的LED红灯会狂闪。
        不过,我的一个项目需要利用蓝牙进行下载,蓝牙的串口已经和AVR芯片的数字0、1pin交叉连接好。大家知道的,除了这两个连接,蓝牙和AVR芯片没有其它连接,不包含USB下载线中DTR到RESET pin的连接(记住它们之间需有一个0.1uF的电容),那通过蓝牙如何下载程序?通过网上查阅资料,原来还可以通过手动按复位(RESET)键触发下载,这和DTR连接RESET pin的作用一样(下载时,USB通过DTR产生一个脉冲,触发复位)。
        不过,手动按复位(RESET)键的时机实在不好把握,我几乎搜索了整个网络,在国内的网上有零星2篇提到过,但一笔带过,在国外的网站上找到一些内容,也讨论了按键的时机,但也不完全一致,通过上百次的实验和无数次的失败,最后终于找到规律,这里假设用的是Arduino IDE 1.0.1版本:
        1)打开Arduino主板的蓝牙,用电脑的蓝牙扫描到Arduino的蓝牙并配对,指定好COM端口
        2)检查配对的COM端口波特率、Arduino主板蓝牙波特率(如何改?举例AT+UART=57600,0,0),
              以及Arduino IDE下载波特率(如何查?下载时Overriding Baud Rate对应的波特率),注意波特率一定要一致
        3)打开下载时的详细日志,File -> Preferences -> Show verbose output during upload
        4)一直按住复位(RESET)键(为什么?让boot loader运行,等待程序下载)
        5)单击Upload按钮
        6)耐心等待,过了编译,显示“Uploading...”,还不要着急
        7)等到日志中出现下载命令,也就是包含“avrdude”和程序的那一行(字体颜色还是白色),松开复位(RESET)键
        8)程序开始下载,日志中字体颜色变成黄色,数字13 pin连接的LED红灯会狂闪。

        可能面临问题:avrdude: stk500_getsync(): not in sync: resp=0x00
        -
如果确认bootloader已经下载和波特率也一致,那还是没把握好按键的时机,重来一次吧


回复

使用道具 举报

发表于 2013-3-18 14:07:32 | 显示全部楼层
谢谢,我也遇到了这个问题!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2011 - 2015 iRobo-我爱机器人 All rights reserved.  Powered by Discuz! X3.2 (京ICP备12000707号-1)     
快速回复 返回顶部 返回列表