arduino驱动,以及使用时遇到问题的解答

网友投稿 2019-03-01 11:45

很多同学、家长由于电脑的系统不是正版系统所以在使用的时候会遇到arduino没有驱动的情况,这里Right老师系统的说一下驱动安装的相关问题

一、系统驱动问题

驱动安装失败,90%的情况都是你电脑的问题,你的操作系统使用了一些优化软件通常是引起此类问题的原因。

如果你使用的不是正版windows系统,安装Arduino驱动时,可能会遇到"系统找不到指定文件"这个问题,如下图:

https://cdn.china-scratch.com/timg/190303/1145056124-0.jpg

这是因为你的操作系统window系统删掉了一些驱动信息引起的,解决方法如下:

1.首先打开C:windowsinfsetupapi.dev.log 

这个文件包含了有关即插即用设备和驱动程序安装的信息,当然它也记录你Arduino驱动安装失败的原因。打开该文件,滚动到文件末尾附近,你可以看到如下信息:

https://cdn.china-scratch.com/timg/190303/1145054U6-1.jpg

正是这个文件缺失,致使你的Arduino驱动无法安装。

2.在 C:WindowsSystem32DriverStoreFileRepository 路径下,新建一个mdmcpq.inf_x86_neutral_********文件夹

每台电脑后面的标示不一样,*******具体是什么请参照上面setupapi.dev.log文件给出的提示信息。例如,我这台电脑给出的信息为
C:WindowsSystem32DriverStoreFileRepositorymdmcpq.inf_x86_neutral_9f203c20b6f0dabd
根据该提示,我在C:WindowsSystem32DriverStoreFileRepository路径下,建立了一个同名文件夹,如下

https://cdn.china-scratch.com/timg/190303/1145054145-2.jpg

3.下载以下文件,解压后放入刚才新建的mdmcpq.inf_x86_neutral_********文件夹中

(32windows:  mdmcpq.inf_x86.rar )

https://www.arduino.cn/forum.php?mod=attachment&aid=MTIzMHwyMDcwZjBiMXwxNTMyOTU1MjIzfDE0OTY2MXwyNDg1

(64位windows:  mdmcpq.inf_amd64.rar )

https://www.arduino.cn/forum.php?mod=attachment&aid=MTIzMXw0MTRlNThiNnwxNTMyOTU1MjIzfDE0OTY2MXwyNDg1

也可以在这里下载:http://clz.me/mdmcpq/

https://cdn.china-scratch.com/timg/190303/11450545G-3.jpg

4.再重新按步骤安装驱动现在驱动就可以正常安装上啦!

PS方法(后面这个仅限XP/2000系统,作为一个补充,至今还没遇到谁用以下方法,安好驱动的):如果按以上方法还是无法安装,且你的系统为windowsXP/2000,那你可以尝试在注册表
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
中添加一个RunOnce项

如果以上的办法您还是不能安装好您的电脑驱动文件那么请自行的更换电脑吧。或者使用正版的电脑系统。Right老师这里有个带有驱动文件的ghost系统,如果您是和老师一个城市的也可以给您使用:-)

二、下载失败报错问题

下一部分我们来说一下下载不成功的系统报错相关问题

avrdude: stk500_getsync(): not in sync: resp=0x00错误提示在arduino IDE中非常常见,这个错误代表着就是无法通过USB口与arduino控制板进行通信,下面总结一下这个问题常见的几个原因。

1,arduino控制板或者COM口没有选对,这种问题最简单,照下图的选项选择对了就OK。

2,下载的时候,arduino控制板上接了其他扩展板(使用D0,D1口的基本都会出问题,这两个口是用来通信下载程序的。)如果接了其他扩展板不能用,可以先拔掉扩展板再次尝试重新下载程序。

3,bootloader损坏,这种情况下需要重新刷bootloader。

4,驱动未安装好。(目前遇到ghost版本,或者精简版win7系统安装uno驱动时,无法安装的问题。这种情况,需要重装系统。ghost版或者精简版操作系统,请谨慎安装,后患无穷。)

avrdude: stk500_getsync(): not in sync: resp=0x00

该问题表述为串口通信失败

经过分析,出现这种情况的原因大致有:

1.arduino在IDE下载过程中没有复位;

2.串口脚(0、1)被占用;

3.USB转串口通信不稳定;

4.bootloader损坏。

5.选错了串口或者板子型号(这个就不说了,选对就好了)

其中bootloader损坏几率真心极小,几乎不太可能;

usb转串口通信不稳定多出现在使用PL2303做转换IC的arduino兼容板上;

串口占用问题,直接拔掉0,1上连接的设备,即可;

另外极有可能的原因是arduino下载过程中,没有复位。

没有更专业的实验,初步分析是官方复位电路有一定缺陷

目前arduino的复位采用DTR信号加100nf电容实现,这个自动复位方法很有意思,但问题也多

解决办法其实很简单,程序编译完成后,进入下载时,手动复位一下

或者将其他可能引起干扰的外部件拔掉,再进行下载

还不行的话,就换电脑、换下载线,换板子,逐个排除可能

avrdude: stk500_getsync(): not in sync: resp=0x00

该问题表述为串口通信失败

经过分析,出现这种情况的原因大致有:

1.arduino在IDE下载过程中没有复位;

2.串口脚(0、1)被占用;

3.USB转串口通信不稳定;

4.bootloader损坏。

5.选错了串口或者板子型号(这个就不说了,选对就好了)

其中bootloader损坏几率真心极小,几乎不太可能;

usb转串口通信不稳定多出现在使用PL2303做转换IC的arduino兼容板上;

串口占用问题,直接拔掉0,1上连接的设备,即可;

另外极有可能的原因是arduino下载过程中,没有复位。

没有更专业的实验,初步分析是官方复位电路有一定缺陷

目前arduino的复位采用DTR信号加100nf电容实现,这个自动复位方法很有意思,但问题也多

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com