最近好多Arduino爱好者在拿到Arduino控制器后通过Arduino IDE下载程序时出现了如下错误:”avrdude: stk500_getsync(): not in sync: resp=0x00“这个错误提示在Arduino IDE中是非常常见,这个错误代表着就是无法通过USB口与Arduino控制器进行通信。
1、Arduino控制器或者COM口没有选对,这种问题最简单,看下手里的控制器是什么型号的如Arduino UNO、Arduino Nano或Arduino Duemilanove,之后再确认下Arduino控制器上芯片的型号,168、328、1280、2560等,确认好这些信息后就可以参照下图选择正确的板卡了
Arduino IDE板卡选择
Arduino IDE Processor型号选择
COM口的选择,接好设备后打开设备管理器,计算机(右键)--管理--设备管理器--端口,如下图
设备管理器查看
Arduino IDE COM口选择
2、下载的时候,Arduino控制器串口被占用,大多数时候是Arduino控制器上接了其他扩展板(占用数字口0,1口的基本都会出问题,这两个口是用来通信下载程序的)如果接了其他扩展板不能用,可以先拔占用其串口的设备再次尝试重新下载程序。
3、bootloader损坏,这种情况下需要重新刷bootloader,我们通常使用的设备是USBtinyISP v3.0,具体操作如下:先参照问题1选择正确的板卡及Processor型号,之后旋转对应的编程器开始烧录
Arduino IDE编程器的选择
选择完毕后,点击烧写Bootbloder稍等片刻就烧录完成。
4、驱动未安装好(目前遇到Ghost版本,或者精简版win7系统安装Arduino控制器驱动时,无法安装的问题。这种情况需要重装系统。ghost版或者精简版操作系统,请谨慎安装,后患无穷。)
通过以上4种错误原因逐一排查,出现错误的问题就迎刃而解了,不过有些时候我们在编写代码时就是在一行程序尾端忘记加上分号“;”,然后因为其下一行代码的不同而产生许多不同的错误信息,下面我给大家列举几个我们常见的错误。
Arduino IDE编写代码
在”digitalWrite(led, HIGH)“后面缺少分号!当我们编译的时候就出现了如下错误:
Arduino IDE错误提示
这种的错误提示是比较明确的,还有一种较不明确的错误信息:
expected unqualified-id before numeric constant
Arduino IDE错误提示
虽然造成的错误的原因相同,但若是在常数后面缺少分号,则会呈现另外的错误信息提示:
Arduino IDE错误提示
在”int led=13“后面缺少分号时在编译程序,出现了上述的错误!另外还有一种常见的程序错误就是拼写错误,其中包括大小写的问题,例如LedPin就不同于ledPin。
Arduino IDE错误提示
此外,在使用函数时,参数定义必须正确,例如下面程序代码:
Arduino IDE错误提示
而且在Arduino IDE光标中会自动指向发生错误的那一行程序代码。还有一个就是在撰写程序注解时,也要小心错误:
Arduino IDE错误提示
最后建议大家在编写程序时,可以写了一小段程序之后就检查是否能通过Arduino IDE编译,避免当程序过大时,若出现太多编译错误,会变得很难除错!
相关链接:
USBtinyISP v3.0 专用下载器:http://www.alsrobot.cn/goods-163.html Arduino UNO R3 控制器:http://www.alsrobot.cn/goods-473.html Carduino UNO 控制器:http://www.alsrobot.cn/goods-277.html Arduino Nano Mega328控制器:http://www.alsrobot.cn/goods-217.html Arduino MEGA 2560:http://www.alsrobot.cn/goods-144.html
近期新闻
热门新闻
奥松智能微信