第9讲 故障排除:烧录引导程序

Arduino UNO R3开发板上的ATMega328P有0.5KB的Flash空间用于引导程序;因为有引导程序的支持,Arduino可以使用串口上传程序而无需编程器。

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

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

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

上左图是10PUSBasp接口,右图是6PArduino 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”后,点击烧录引导程序,等待烧录完成即可。

 


评论:
相关文章
ESP32 FreeRTOS 双核使用

ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。


理解 MSBFIRST(最高有效位)和 LSBFIRST(最低有效位)

在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。


Arduino 和 TB6612FNG 驱动直流电机

TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。


Arduino-ESP32 Preferences库使用详解

Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。


Arduino Serial 接收数字

在Arduino中,通过串行端口接收数字通常涉及使用Serial.read()、Serial.readString()、Serial.parseInt()等方法。