<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arduino中国 &#187; usb</title>
	<atom:link href="http://blog.flamingoeda.com/tag/usb/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.flamingoeda.com</link>
	<description>Flamingo EDA</description>
	<lastBuildDate>Sat, 13 Aug 2011 11:41:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Arduino USB下载线原型</title>
		<link>http://blog.flamingoeda.com/2008/10/06/arduino-usb%e4%b8%8b%e8%bd%bd%e7%ba%bf%e5%8e%9f%e5%9e%8b/</link>
		<comments>http://blog.flamingoeda.com/2008/10/06/arduino-usb%e4%b8%8b%e8%bd%bd%e7%ba%bf%e5%8e%9f%e5%9e%8b/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 15:23:04 +0000</pubDate>
		<dc:creator>flamingoeda</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[下载线]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://blog.arduino.cn/?p=258</guid>
		<description><![CDATA[在使用Arduino的过程中，最令人头痛的估计就是bootloade毁坏，需要重新烧写bootloader了。最常见的一种情况就是，在Arduino IDE环境中下载程序的时候，较长时间没有反应，这时很多人就直接选择断开USB连接线或者电源，然后就会出现无法再上传程序的错误。其实出现这种情况时正确的做法是一直等到Arduino超时返回出错信息，直接断电的做法往往会导致bootloader毁坏。 如果bootloader毁坏，唯一的办法就是通过ISP下载线重新烧写bootloader。之前有介绍过并口ISP下载线的使用方式，但一来使用不是很方便，二来有的计算机上没有并口，所以一款USB下载线就比较有帮助了。 Arduino采用的是AVR单片机，其实已经有不少专为该芯片设计的USB下载线了，比如USBasp和USBtinyISP。手头正好有一块USBasp的空板，拿它来做Arduino USB下载线的原型还是可以的。 通常USB下载线都是10芯的，Arduino独特的6芯设计使得我们必须做一块10芯到6芯的转换板： 下面是所有部件的连接图： 标准的Arduino板上并没有防插反插座，请注意不要接反了： 下载线做好之后，首先要安装USBasp的驱动，你可以下载这个文件并解压缩到你的硬盘上，插上USBasp线之后，Windows会提醒你找到相应的硬件： 当“找到新的硬件向导”对话框出现之后，选择“否，暂时不“单选框，然后单击“下一步”按钮： 然后再选择”从列表或指定位置安装“单选框，单击“下一步”按钮： 选中“在搜索中包括这个位置“复选框，并选择USBasp驱动文件所在的目录，再单击“下一步”按钮： 如果一切正常，你将看到下面这个完成页面： 打开硬件管理器，你会发现其中多了一个USBasp设备： Arduino官方支持的是USBtinyISP而不是USBasp，在启动Arduino集成开发环境之前，你需要先编辑Arduino安装目录hardware目录下的programmers.txt文件，在末尾加入如下两行 usbasp.name=USBasp usbasp.protocol=usbasp 这样启动Arduino后你就能在“Tools”-&#62;“Burn Bootloader“菜单里找到”/w USBasp“一项： 下载bootloader的时间会比较久，请耐心等待，成功下载后我们能在console窗口里看到如下信息： 稍微有点遗憾的是，我只在Arduino 0011版本上成功完成了上述步骤，在最新的0012版本上没有成功。估计是0012版本采用的最新的Avrdude与USBasp不兼容导致的，要使用USBasp下载线的朋友目前只能退回到0011使用了;-(]]></description>
			<content:encoded><![CDATA[<p>在使用Arduino的过程中，最令人头痛的估计就是bootloade毁坏，需要重新烧写bootloader了。最常见的一种情况就是，在Arduino IDE环境中下载程序的时候，较长时间没有反应，这时很多人就直接选择断开USB连接线或者电源，然后就会出现无法再上传程序的错误。其实出现这种情况时正确的做法是一直等到Arduino超时返回出错信息，直接断电的做法往往会导致bootloader毁坏。</p>
<p>如果bootloader毁坏，唯一的办法就是通过ISP下载线重新烧写bootloader。之前有介绍过并口ISP下载线的使用方式，但一来使用不是很方便，二来有的计算机上没有并口，所以一款USB下载线就比较有帮助了。</p>
<p>Arduino采用的是AVR单片机，其实已经有不少专为该芯片设计的USB下载线了，比如<a href="http://www.fischl.de/usbasp/" target="_blank">USBasp</a>和<a href="http://www.ladyada.net/make/usbtinyisp/"><span class="topheadertext">USBtinyISP</span></a>。手头正好有一块USBasp的空板，拿它来做Arduino USB下载线的原型还是可以的。</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_board.jpeg"><img class="size-full wp-image-268 aligncenter" title="usbasp_board" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_board.jpeg" alt="" width="460" height="385" /></a></p>
<p>通常USB下载线都是10芯的，Arduino独特的6芯设计使得我们必须做一块10芯到6芯的转换板：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_adapter.jpeg"><img class="size-full wp-image-269 aligncenter" title="usbasp_adapter" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_adapter.jpeg" alt="" width="460" height="364" /></a></p>
<p>下面是所有部件的连接图：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_connection.jpg"><img class="size-full wp-image-270 aligncenter" title="usbasp_connection" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_connection.jpg" alt="" width="460" height="250" /></a></p>
<p>标准的Arduino板上并没有防插反插座，请注意不要接反了：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_arduino_wire.jpg"><img class="size-full wp-image-271 aligncenter" title="usbasp_arduino_wire" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/usbasp_arduino_wire.jpg" alt="" width="300" height="311" /></a></p>
<p>下载线做好之后，首先要安装USBasp的驱动，你可以<a href="http://www.fischl.de/usbasp/usbasp.2007-10-23.tar.gz">下载这个文件</a>并解压缩到你的硬盘上，插上USBasp线之后，Windows会提醒你找到相应的硬件：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/connecting.jpeg"><img class="size-full wp-image-259 aligncenter" title="connecting" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/connecting.jpeg" alt="" width="156" height="104" /></a></p>
<p>当“找到新的硬件向导”对话框出现之后，选择“否，暂时不“单选框，然后单击“下一步”按钮：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step1.jpeg"><img class="size-medium wp-image-260 aligncenter" title="hardware_wizard_step1" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step1-300x221.jpg" alt="" width="300" height="221" /></a></p>
<p>然后再选择”从列表或指定位置安装“单选框，单击“下一步”按钮：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step2.jpeg"><img class="size-medium wp-image-261 aligncenter" title="hardware_wizard_step2" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step2-300x221.jpg" alt="" width="300" height="221" /></a></p>
<p>选中“在搜索中包括这个位置“复选框，并选择USBasp驱动文件所在的目录，再单击“下一步”按钮：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step3.jpeg"><img class="size-medium wp-image-262 aligncenter" title="hardware_wizard_step3" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step3-300x221.jpg" alt="" width="300" height="221" /></a></p>
<p>如果一切正常，你将看到下面这个完成页面：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step4.jpeg"><img class="size-medium wp-image-263 aligncenter" title="hardware_wizard_step4" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/hardware_wizard_step4-300x221.jpg" alt="" width="300" height="221" /></a></p>
<p>打开硬件管理器，你会发现其中多了一个USBasp设备：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/device_manager.jpeg"><img class="size-medium wp-image-265 aligncenter" title="device_manager" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/device_manager-300x229.jpg" alt="" width="300" height="229" /></a></p>
<p>Arduino官方支持的是USBtinyISP而不是USBasp，在启动Arduino集成开发环境之前，你需要先编辑Arduino安装目录hardware目录下的programmers.txt文件，在末尾加入如下两行</p>
<pre>usbasp.name=USBasp
usbasp.protocol=usbasp</pre>
<p>这样启动Arduino后你就能在“Tools”-&gt;“Burn Bootloader“菜单里找到”/w USBasp“一项：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/menu.jpeg"><img class="aligncenter size-medium wp-image-264" title="menu" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/menu-242x300.jpg" alt="" width="242" height="300" /></a></p>
<p>下载bootloader的时间会比较久，请耐心等待，成功下载后我们能在console窗口里看到如下信息：</p>
<p style="text-align: center;"><a href="http://blog.flamingoeda.com/wp-content/uploads/2008/10/burn1.jpeg"><img class="size-full wp-image-267 aligncenter" title="burn" src="http://blog.flamingoeda.com/wp-content/uploads/2008/10/burn1.jpeg" alt="" width="500" height="124" /></a></p>
<p>稍微有点遗憾的是，我只在Arduino 0011版本上成功完成了上述步骤，在最新的0012版本上没有成功。估计是0012版本采用的最新的Avrdude与USBasp不兼容导致的，要使用USBasp下载线的朋友目前只能退回到0011使用了;-(</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flamingoeda.com/2008/10/06/arduino-usb%e4%b8%8b%e8%bd%bd%e7%ba%bf%e5%8e%9f%e5%9e%8b/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

