In-system programming (ISP) wil zeggen dat een microcontroller geprogrammeerd kan worden zonder dat hij van de printplaat gehaald moet worden. De controller hoeft dus niet geprogrammeerd te worden voordat deze in een systeem wordt geïnstalleerd. Deze techniek wordt het meeste toegepast in microcontrollers zoals de Atmel AVR serie en de Microchip PIC. Een de facto standaard voor in-circuit programmeren is de z.g. JTAG interface.
MISO | Master In, Slave Out |
MOSI | Master Out, Slave In |
SCK | Serial clock |
RST | Reset |
VCC | VCC |
GND | Ground |
Mega | Uno Nano | Functie | Bus | Functie | Uno Nano | Mega | |
---|---|---|---|---|---|---|---|
50 | 12 | MiSo | 1 | 2 | +5V | - | - |
52 | 13 | SClk | 3 | 4 | MoSi | 11 | 51 |
- | - | Reset | 5 | 6 | GND | - | - |
Shields die Megacompatable zijn gebruiken de ICSP bus voor de data lijnen en niet de zij bus connectoren.
Voor het kiezen van een interface, SS-lijn, wordt een van de I/O poorten gebruikt. SS staat voor SlaveSelect.
Om de bus te kunnen gebruiken moet deze in de sourcecode te worden gedeclareerd.
#include <SPI.h>