迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C++ >

Arduino ICSP

作者:迹忆客 最近更新:2024/03/13 浏览次数:

在本教程中,我们将讨论 Arduino 中存在的 ICSP 引脚的使用。ICSP 代表在线串行编程器(in-circuit serial programmer),也称为 ISP


使用 ICSP 引脚对 AVR 和 Arduino 进行编程

Arduino 是一块具有单片机,编程器和一些安全组件的电路板。Arduino 团队本身提供的每个 Arduino 中都有一个 bootloader,它与 PC 通信并向微控制器提供指令以执行某些任务,例如主板中的 BIOS。bootloader 已预编程,位于微控制器的闪存中。当你将 Arduino 与 PC 连接时,bootloader 等待将草图上传到微控制器,如果未提供草图,则 bootloader 将运行微控制器闪存中已经存在的草图。有时,这个 bootloader 崩溃了,并且 Arduino 无法与 PC 通信。如果是这种情况,或者你想对 bootloader 进行编程或对另一个微控制器进行编程,则可以使用另一个 Arduino 板来来完成。首先,你需要检查 Arduino 板上 ICSP 引脚的位置。你可以为此检查 Arduino 板的引脚配置。例如,如果你想用另一个 Arduino UNO 对 Arduino UNO 的 bootloader 进行编程。如图所示,连接两个 Arduino UNO。

第一步是将编程器 Arduino 设置为 ISP。为此,请进入 Arduino IDE 中的工具选项卡,并将 programmer 设置为 Arduino,并将其设置为 ISP。下一步使用 Arduino 示例一节中的示例代码 ArduinoISP。在此示例代码中,你可以看到许多注释,这些注释将指导你设置不同的参数。该代码还支持三个 LED,用于检查过程的运行情况。例如,中间的 LED 指示编程是否出错。下一步是刻录 bootloader。为此,你可以转到工具选项卡,然后选择刻录 bootloader。你可以设置 bootloader 的不同参数,例如为 bootloader 保留多少内存并禁用复位。因此,在执行此操作之前,请确保已阅读 Arduino 开发板的文档。你还可以使用这种方法对其他 AVR 微控制器进行编程,因为在某些项目中,你不需要板子,取而代之的是,你只需要一个像 PIC 微控制器之类的微控制器。


使用 ICSP 引脚在两个或更多 Arduino 板之间进行通信

假如你正在做一个项目,其中需要多个 Arduino 板,并且需要它们彼此通信,或者如果你想用一个主 Arduino 板来控制某些 Arduino 板。在这种情况下,你可以使用 ICSP 引脚进行通信。

上一篇:Arduino 二维数组

下一篇:Arduino if 语句

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Arduino 中停止循环

发布时间:2024/03/13 浏览次数:166 分类:C++

可以使用 exit(0),无限循环和 Sleep_n0m1 库在 Arduino 中停止循环。

Arduino 复位

发布时间:2024/03/13 浏览次数:165 分类:C++

可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。

Arduino 的字符转换为整型

发布时间:2024/03/13 浏览次数:116 分类:C++

可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。

Arduino 串口打印多个变量

发布时间:2024/03/13 浏览次数:166 分类:C++

可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。

Arduino if 语句

发布时间:2024/03/13 浏览次数:82 分类:C++

可以使用 if 语句检查 Arduino 中的不同条件。

Arduino 二维数组

发布时间:2024/03/13 浏览次数:112 分类:C++

二维数组与 1d 数组非常相似,像矩阵一样包含行和列。

如何在 C++ 中实现毫秒级的睡眠

发布时间:2024/01/02 浏览次数:154 分类:C++

本文介绍了在 C++ 中使用不同方法暂停程序执行,实现睡眠的方法。本文介绍了在 C++ 中睡眠毫秒的方法。使用 std::this_thread::sleep_for 方法在 C++ 中睡眠

如何在 C++ 中将双精度数四舍五入到整数上

发布时间:2024/01/02 浏览次数:96 分类:C++

本文演示了如何在 C++ 中把双精度数四舍五入到整数中。本文将为大家讲解几种在 C++ 中如何将双精度数四舍五入为整数的方法。使用 round() 函数将双精度数四舍五入到整数

如何在 C++ 中以毫秒为单位获取时间

发布时间:2024/01/02 浏览次数:71 分类:C++

本文介绍了如何在 C++ 中获取以毫秒为单位的时间。本文将介绍多种 C++ 方法,介绍如何以毫秒为单位获取时间。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便