arduino上标有ICSP的六个针脚是做什么用的

arduino上标有ICSP的六个针脚是做什么用的,第1张

In-Circuit Serial Programming,这个可以查看arduino的原理图,六根线直接和MCU连着的,对应VCC,MISO,MOSI,SCK,GND和RESET,其实是烧写器利用串行接口给单片机烧写程序用的,因为arduino上面配了16U2等USB控制器,所以是通过USB口利用串口通信写程序,ICSP就很少用到。

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti。

它构建于开放原始码simple I/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个主要的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。

Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash,Processing, MaxMSP)来实现。

可以通过esp8266给单片机下载程序,但是不实用,电脑端 单片机程序下载软件 大多数用串口连接 单片机,这样就需要用 两个 esp8266模块(一个服务、一个客户 连接,设置为透传模式 ),单片机端需要 电源(如STC系列需要 模块先供电连接,电脑端点击下载单片机再上电)没有直接来得省事,如果需要脱机下载程序(像STC专门有脱机下载器,单片机程序装入下载器后有个5V电源就可以了)。

这里不如贴网址,只能贴部分。
基本概念:
甲) 事前准备和硬件连接
乙) 编写程序代码和经ArduinoISP上载至ATtiny
*** 作流程:
A) 事前准备 - Arduino IDE(参考:1& 2)
这是为使原来的Arduino IDE能支持ATtiny13/44/45/84/85的一次性步骤:
下载档案 attiny/tree/Arduino1
b) 解压下载档,把当中的 "ATtiny" 放在Arduino 档案夹hardware 内

c) 修改attiny档案夹内的boards文字档,把当中的 "attiny13buildf_cpu=9600000L" 改为 "attiny13buildf_cpu=10000000L"
d) 修改hardware/arduino/cores/arduino/wiringc
修改前:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
修改後:
#if defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny13__)
B) 事前准备 – ArduinoISP (参考:1 & 3)
这是使Arduino板用作ArduinoISP上载烧写其它AVR芯片的步骤,若Arduino板之前已为ArduinoISP,则不用再做。
a) 运行Arduino IDE
b) 打开ArduinoISP范例文件

c) 正确选择所使用的Arduino板及串口

d) 上载至Arduino板
e) 退出Arduino IDE
C) 硬件连接
这是ArduinoISP 与ATtiny13的硬件连接
D) 编写程序代码和经ArduinoISP上载至ATtiny
a) 运行Arduino IDE
b) 正确选择所使用的ATtiny13

c) 编写程序代码
int led = 4;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
d) 经ArduinoISP上载烧写ATtiny13

e) 若板上的LED以1秒亮1秒灭的闪动,表示以上 *** 作成功。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/13176656.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-30
下一篇2025-08-30

发表评论

登录后才能评论

评论列表(0条)

    保存