В режиме программирования по последовательному каналу программирование памяти программ и данных осуществляется по последовательному интерфейсу SPI. Как правило, этот режим используется для программирования (перепрограммирования) микроконтроллера непосредственно в устройстве.
Схема включения микросхем в режиме программирования по последовательному каналу приведена на рис. 9.2. На этом же рисунке показано два варианта разводки колодки для подключения программатора, рекомендуемые компанией Atmel.

Рис. 9.2. Включение микроконтроллеров в режиме программирования по последовательному каналу
Как видно из рис. 9.2, для обмена данными между программатором и устройством используются три линии: SCK (тактовый сигнал), MOSI (вход данных) и MISO (выход данных).
Как и в рабочем режиме, при программировании по последовательному каналу микроконтроллеру требуется источник тактового сигнала. В качестве такового может использоваться любой из допустимых для микроконтроллера источников. При этом должно выполняться следующее условие: длительность импульсов как НИЗКОГО, так и ВЫСОКОГО уровня сигнала SCK должна быть больше 2 периодов тактового сигнала микроконтроллера.
Программирование осуществляется путем посылки 4-байтных команд на вывод MOSI микроконтроллера. Результат выполнения команд чтения снимается с вывода MISO микроконтроллера. Передача команд и выдача результатов их выполнения осуществляются от старшего бита к младшему. При этом “защелкивание” входных данных выполняется по нарастающему фронту сигнала SCK, а “защелкивание” выходных данных – по спадающему.