Для чего нужен разъем ISCP на плате ардуино UNO?
Описано назначение выводов ISCP на платах Arduino UNO, Nano и других подобных.
На самом деле ICSP — это просто повторение пинов 5V, GND, RESET, MISO, MOSI, SCK (в нумерации Arduino Uno это выводы 11-13). То есть на схеме платы эти выводы просто попарно соединены между собой: 11-MOSI, 12-MISO, 13-SCK.
Данные пины обычно используются для передачи данных через интерфейс SPI (Serial Peripheral Interface).
Распиновка ICSP:
В зависимости от ситуации бывает удобно пользоваться либо выводами 11-13, либо разъемом ICSP.
Я также часто использую разъем ICSP для подачи питания на ардуину (через выводы 5V, GND), поскольку остальные выводы обычно заняты чем-то ещё.
ICSP для прошивки
Кроме того, у разьема ISCP есть еще одно назначение. На самом деле это даже его основное назначение, хотя оно и редко используется в домашних условиях. Разьем ISCP используется для промышленного программирования основного микроконтроллера ATMEGA328P, т.е. через внешний программатор — в тех случаях, когда зашивать программу через USB-кабель неудобно, либо нецелесообразно. Собственно ISCP расшифровывается как in-circuit serial programming.
В домашних условиях для прошивки мы обычно используем USB . Для этого ардуина подключается к компьютеру, и какой-то дополнительный программатор не требуется (его роль играет чип CH340 либо вспомогательный МК ATMEGA16U2).
Arduino Uno: распиновка, схема подключения и программирование
Arduino Uno — флагманская платформа для разработки на языке программирования С++.
Uno выполнена на микроконтроллере ATmega328P с тактовой частотой 16 МГц. На плате предусмотрены 20 портов входа-выхода для подключения внешних устройств, например плат расширения или датчиков.
Видеообзор
Подключение и настройка
Шаг 1
Подключите плату к компьютеру по USB. Для коммуникации используйте кабель USB (A — B). 
Шаг 2
Установите и настройте интегрированную среду разработки Arduino IDE.
Что-то пошло не так?
Пример работы
В качестве примера повторим первый эксперимент «Маячок» из набора Матрёшка. На плате уже есть встроенный пользовательский светодиод L , подключенный к 13 пину микроконтроллера.
После загрузки программы встроенный светодиод L начнёт мигать раз в секунду.
Это значит, всё получилось, и можно смело переходить к другим экспериментам на Ардуино.
Элементы платы

Микроконтроллер ATmega328P
Сердцем платформы Arduino Uno является 8-битный микроконтроллер фирмы Microchip — ATmega328P на архитектуре AVR с тактовой частотой 16 МГц. Контроллер обладает тремя видами памяти:
Микроконтроллер ATmega16U2
Микроконтроллер ATmega328P не содержит USB интерфейса, поэтому для прошивки и коммуникации с ПК на плате присутствует дополнительный микроконтроллер ATmega16U2 с прошивкой USB-UART преобразователя. При подключении к ПК Arduino Uno определяется как виртуальный COM-порт.
Микроконтроллер ATmega328P общается с ПК через сопроцессор ATmega16U2 по интерфейсу UART используя сигналы RX и TX , которые параллельно выведены на контакты 0 и 1 платы Uno. Во время прошивки и отладки программы, не используйте эти пины в своём проекте.
Светодиодная индикация
| Имя светодиода | Назначение |
|---|---|
| ON | Индикатор питания платформы. |
| L | Пользовательский светодиод на 13 пине микроконтроллера. Используйте определение LED_BUILTIN для работы со светодиодом. При задании значения высокого уровня светодиод включается, при низком – выключается. |
| RX и TX | Мигают при прошивке и обмене данными между Uno и компьютером. А также при использовании пинов 0 и 1 . |
Порт USB Type-B
Разъём USB Type-B предназначен для прошивки и питания платформы Arduino. Для подключения к ПК понадобится кабель USB (A — B).
Разъём питания DC
Коннектор DC Barrel Jack для подключения внешнего источника напряжения в диапазоне от 7 до 12 вольт.
Понижающий регулятор 5V
Понижающий линейный преобразователь NCP1117ST50T3G обеспечивает питание микроконтроллера и другой логики платы при подключении питания через разъём питания DC или пин Vin. Диапазон входного напряжения от 7 до 12 вольт. Выходное напряжение 5 В с максимальным выходным током 1 А.
Понижающий регулятор 3V3
Понижающий линейный преобразователь LP2985-33DBVR обеспечивает напряжение на пине 3V3 . Регулятор принимает входное напряжение от линии 5 вольт и выдаёт напряжение 3,3 В с максимальным выходным током 150 мА.
Кнопка сброса
Кнопка предназначена для ручного сброса прошивки — аналог кнопки RESET обычного компьютера.
ICSP-разъём ATmega328P
ICSP-разъём выполняет две полезные функции:
ICSP-разъём ATmega16U2
ICSP-разъём предназначен для программирования микроконтроллера ATmega16U2. А подробности распиновки читайте в соответствующем разделе.
Arduino ICSP

In this tutorial, we will discuss the use of ICSP pins present in Arduino. ICSP stands for in-circuit serial programmer , also known as ISP .
Using ICSP Pins to Program AVR and Arduino
Please enable JavaScript
Arduino is a board that has a microcontroller, a programmer, and some safety components. There is a bootloader in every Arduino provided by the Arduino team itself, which communicates with the PC and gives instructions to the microcontroller to perform some task like BIOS present in a motherboard. The bootloader is preprogrammed and is inside the microcontroller’s flash memory. When you connect the Arduino with your PC, the bootloader waits for a sketch to be uploaded to the microcontroller, and if no sketch is provided, the bootloader will run the already present sketch inside the microcontroller flash memory. Sometimes this bootloader gets crashed, and the Arduino cannot communicate with the PC. If this is the case, or you want to program the bootloader or program another microcontroller, you can use another Arduino board to do this. First, you need to check where the ICSP pins are on your Arduino board. You can check the pin configuration of your Arduino board for that. For example, if you want to program the bootloader of an Arduino UNO with another Arduino UNO. Connect the two Arduino UNOs as shown in the figure.

The first step is to set the programmer Arduino as ISP . To do this, go to the tools tab in Arduino IDE and set the programmer as Arduino as ISP . The next step to use an example code present in the Arduino examples section as ArduinoISP . In this example code, you can see many comments which will guide you through setting out different parameters. This code also supports three LEDs which are used to check the operation of the process. For example, the middle LED indicated if there is an error in programming. The next step is to burn the bootloader . To do this, you can go to the Tools tab and select burn bootloader . You can set different parameters of bootloader like how much memory is reserved for the bootloader and disabling reset. So make sure to read the documentation of your Arduino board before doing this. You can also use this method to program other AVR microcontrollers because, in some projects, you don’t need a board; instead, you only need a microcontroller like a PIC microcontroller.
Using ICSP Pins for Communication Between Two or More Arduino Boards
If you are making a project where you need more than one Arduino board, and you need them to communicate with each other or if you want to control some Arduino boards with a master Arduino board. In these cases, you can use the ICSP pins for communication.
Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.
Arduino icsp для чего
Главная />Ардуино />Для чего нужен разъем ISCP на плате Ардуино UNO Arduino NANO
Для чего нужен разъем ISCP на плате Ардуино UNO Arduino NANO
Разъем ICSP — это повторение пинов 5V, GND, RESET, MISO, MOSI, SCK
На схеме платы эти выводы попарно соединены попарно между собой: 11-MOSI, 12-MISO, 13-SCK.
Данные пины используются для передачи данных через интерфейс SPI (Serial Peripheral Interface).
SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом.
