在“内存子系统”一章中我们曾提到,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”后,点击“烧录引导程序”,等待烧录完成即可。
ESP32的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文档作为UNO R4 WiFi的技术概览,您将找到一系列资源和指南链接,帮助您开始下一个项目。
Arduino OneButton库是一个用于简化按钮操作的库,它可以轻松地处理按钮的单击、双击和长按等操作。适用于Arduino开发板以及ESP32等其他基于Arduino的开发板。