专注电子技术学习与研究
当前位置:单片机教程网 >> Arduino >> 浏览文章

Arduino mini pro 出错故障报错及解决方案含ISP定义

作者:c_gao   来源:c_gao   点击数:  更新时间:2014年07月27日   【字体:
   Arduino mini pro 328 3.3v 8mhz最初开始不能够下载程序,一直报错,出错信息是经典:
“avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51” 这个出错信息,关于这个出错信息,网上介绍的很多。我的故障可能有代表性,但也不一定全部是这样。


 
   说到mini pro  一定要说一下下载器,先后定过二款,其实功能上都差不多,下传程序到arduino必须连接TX,RX,VCC,GND这四个接口就可以。


 
   刚接触Arduino时,因为喜欢Nano的方便和简单,就一直在玩ARDUINO NANO 3.0。当开始想把程序写进mini pro时,竟然忘记当初定MINI PRO 328时有没有试过下传程序,所以也直接导致我误认为芯片被我引脚焊接拆除等原因误损坏。上面的那个经典报错,不断地重现,尽管我反复地检查COM口,反复检查FDTI USB的驱动程序,包括从Arduino.cc的论坛上查看近30多页的英文资料,一切都是浪费。包括先前在网上找到一个文章是关于利用FDTI BASIC 的DTR端,加100uf的电容,从而触发MINI PRO的自动RESET。经过我的尝试,依然报0X51 STK500错误。


 
   这样折腾了二周时间,不过我想事情有时总归有解决。然后,我的办法是重新定购一个全新的另外牌子的USB下载器和再定一个MINI PRO,发现依然报错。现在基本上已经排除硬件可能出现的问题。于是,在N次反复查看国外Arduino论坛时,无意料看到某个网友提到可能bootloader损坏的情况,想想自己今后要开发PCB板子,写bootloader也是必须要进行的一步了。所以,不再犹豫,直接在淘宝定下USBTINYISP下载器(带ISP插口线)。事实证明,这一步完全正确。


 
   网上仔细检查ISP口的定义,并且错误地把ISP接口线的端口误看作ISP插座接口,导致通信报错之外。一个小时之后,正确连接MINIPRO,用ARDUINO工具软件,运行TOOLS下面的 BURN BOOTLOADER,选择USBTINYISP,二三分钟后,BOOTLOADER写好完毕。试着用FDTI的USB下载器,上传程序至MINI PRO,看着TX\RX的LED灯不停地闪烁,兴奋啊。


 
   补充一下二点:
    1、损坏BOOTLOADER的MINI PRO大概每三秒闪一次LED,正确重写bootloader之后,minipro定时一秒闪烁一次led。
    2、有关整理的ISP定义:1、ISP下载线的接口定义:2*3排列,把有突出插座定位小突起部分放在右侧,依次是从上往下从右往左,为1,2,3,4,5,6。 ISP下载线是并排的六针线,如果大家收到的有一条红线的,那就是信号线1.如果没有红线的话,就需要看一下,插座的边上,会有一个"小三角“,此为标记1的位置。
    3、ISP插座的定义,有缺口的一侧面对自己,底部最左侧的为1,上为2,中间下部为3,中间上部为4,右侧底部为5,左侧上部为6。
    4、对应MINI PRO进行重写BOOTLOADER,需要连接GND\REST\VCC\SCK\MISO\MOSI这六个。


    烧写时,使用arduino IDE 官方程序,先从board中选择对应的主板,比如我这里选atmega pri mini/3.3v 8mhz,然后在burn bootloader中选择 usbtinyISP就可以了。








为方便网友的认别,制作了下图:
补充:           这里的VCC应该插在RAW上。特此说明!!!