AVR开发 Arduino方法(附二) 故障排除:烧录引导程序

  在“内存子系统”一章中我们曾提到,Arduino UNO R3开发板上的ATMega328P有0.5KB的Flash空间用于引导程序;因为有引导程序的支持,Arduino可以使用串口上传程序而无需编程器。一般地,按下Arduino UNO R3开发板上的复位按键,13引脚上的LED快速的闪烁3下,代表引导程序正常启动。如果出现上传程序没有响应或复位时LED没有闪烁,排除硬件故障后,可以考虑重新烧录引导程序。

(1) 使用USBasp编程器烧录引导程序

  Arduino IDE支持的编程器有AVRISP mkII,USBtinyISP和USBasp等,这里以USBasp为例。

上左图是10P的USBasp接口,右图是6P的Arduino ICSP接口,可以使用10P-6P的转接线连接它们,也可以直接用杜邦线将相应引脚连接。

  打开Arduino IDE,在“工具”菜单下选择开发板为“Arduino/Genuino Uno”,编程器为“USBasp”后,点击“烧录引导程序”,等待烧录完成即可。

(2) 使用Arduino作为编程器烧录引导程序

  如果你拥有另一块Arduino开发板,则可以使用它来作为编程器;向工作正常的Arduino开发板上传ArduinoISP示例,并如图所示连接两块Arduino开发板:

其中下面一块是上传了ArduinoISP示例的Arduino开发板。

  打开Arduino IDE,在“工具”菜单下选择开发板为“Arduino/Genuino Uno”,编程器为“Arduino as ISP”后,点击“烧录引导程序”,等待烧录完成即可。

时间: 2024-08-02 23:50:43

AVR开发 Arduino方法(附二) 故障排除:烧录引导程序的相关文章

AVR开发 Arduino方法(二) 中断子系统

在了解ATMega328P的中断子系统之前,首先要了解中断的概念.你正在看书,这时电话响了,你会怎么做呢?相信大多数人会这样:先标记看到的位置,接完电话回来后继续阅读.这就是一个现实生活中中断的例子,我们把"电话响了"成为中断源.ATMega328P拥有26个中断源,如下表所示: 向量号 程序地址 中断源 中断定义 中断服务程序名称 1 0x0000 RESET 外部电平复位,上电复位,掉电检测复位,看门狗复位 2 0x0002 INT0 外部中断请求0 INT0_vect 3 0x0

AVR开发 Arduino方法(五) 模数转换子系统

模数转换子系统用于将传感器采集的模拟信号转换为数字信号.Arduino UNO R3主处理器ATMega328P的模数转换子系统采用逐次逼近的方式完成模数转换. 使用Arduino库函数进行模数转换十分简单,下面的示例可以将A0引脚上的模拟信号转换为数字信号,并将转换结果打印到串口0上: 1 // ReadAnalogVoltage.ino 2 void setup() { 3 Serial.begin(9600); 4 } 5 6 void loop() { 7 int sensorValue

AVR开发 Arduino方法(六) 内存子系统

Arduino UNO R3主处理器ATMega328P的芯片内部拥有3种存储器:数据存储器,程序存储器和电可擦写可编程存储器:它们各自有不同的用途. 1. 数据存储器 数据存储器是一块2KB大小的静态随机存储器(SRAM).其中一部分空间分配给了通用寄存器和I/O寄存器,其余部分一般用于存储全局变量,堆栈数据和支持动态内存分配.它的存取速度快,但掉电后数据会丢失. 2. 程序存储器 程序存储器是一块32KB大小的闪存(Flash),其中0.5KB用于引导程序.它可以多次擦写,掉电后数据不会丢失

AVR开发 Arduino方法(一) 端口子系统

Arduino UNO R3使用的主处理器ATMega328P上有3个8位的输入/输出端口,它们分别是PB,PC和PD.Arduino IDE提供的Blink示例可以帮助我们了解端口的数字输出功能: 1 int led = 13; 2 3 void setup() { 4 pinMode(led, OUTPUT); 5 } 6 7 void loop() { 8 digitalWrite(led, HIGH); 9 delay(1000); 10 digitalWrite(led, LOW);

【IOS】IOS开发问题解决方法索引(二)

IOS开发问题解决方法索引(二) 1       不使用ARC编译,-fno-objc-arc ios5 选择了ARC但是不使用ARC编译,-fno-objc-arc http://leobluewing.iteye.com/blog/1384797 http://blog.cnrainbird.com/index.php/2012/03/13/object-c_kai_fa_zhong_hun_he_shi_yong_huo_bu_shi_yong_arc/ 2       SIGABRT错误

Magento中,调用静态块的几种方法[magento 二次开发]

在后台创建一个order_form静态块 Block Title :Order Form Identifier :order_form Status :Enabled Content :自定义内容 1.如果要在.phtml文件中直接调用这个静态块,那可以采用以下方法 [php] view plaincopy <?php $block = Mage::getModel('cms/block') ->setStoreId(Mage::app()->getStore()->getId()

网络不通故障排除方法

1.ifconfig 检测eth0配置是否正确.网卡是否启动,关注inet_addr的IP地址 2.ethtool eth0  检测物理链路是否接通 3.ping 192.168.60.1 ping网关确定内网是否通畅,ping 192.168.40.1 ping外网确定网关设置是否正确 4.route 检测网关数据接收是否正常 总结如下:eth0只是网卡的一个名称,有的时候如果是网桥或者绑定模式下,会出现br0或者bond0的名字,都是一样的,只是把相应的eth0修改为br0或者bond0即可

Linux -- 常见故障排除

目前Linux的擅长应用领域是:单一应用的基础服务器应用,譬如DNS.Web服务器.NFS服务器.防火墙.文件服务器.代理服务器.中小型数据库.Linux网络故障大多与服务器配置有关.下面我们介绍一下故障排除步骤. 一. Linux网络故障之网卡故障 Linux的网络实现是模仿FreeBSD的,它支持FreeBSD的带有扩展的Sockets(套接字)和TCP/IP协议.它支持两个主机间的网络连接和Sockets通讯模型,实现了两种类型的Sockets:BSD Sockets和INET Socke

系统启动过程以及故障排除

系统的启动过程 1.加电----CMOS----post(上电自测试程序)----- grub(早期的时候使用的是lilo) Grub的第一阶段主要起到一个引导MBR中的446B.第二阶段在硬盘上,主要是一个配置. 对于任何一种操作系统,任何一台机器,刚开始的时候,肯定是要进行加电的,加完电之后在主板上有一个叫CMOS的芯片,CMOS里面有一个程序,这个程序叫post上电自测试程序.它能够对硬件来完成一些自检,比如,在机器里面内存有多大,CPU是哪一种型号的,声卡.显卡,所以这个叫上电自测试.