Цитата(prottoss @ Dec 22 2005, 15:31) *
Цитата(Rash @ Dec 22 2005, 19:18) *
По линии MOSI всегда осуществляется передача данных от ведущего к подчиненному, а по MISO, наоборот, от подчиненного к мастеру. По окончании передачи каждого пакета данных ведущий SPI должен засинхронизировать подчиненный путем подачи высокого уровня на линию SS (выбор подчиненного интерфейса).
AVR, что ей мешает, причём при программировании участвует ещё и RESET.


Совершенно верно. Но эти сложности больше для мультипроцессорного обмена. Кстати, если не касться прогарммирования АВР то РЕСЕТ вообще не нужен, достаточно четырех линий. Если же инициатором транзакций служит один единственный МК, то достаточно трех линий - MOSI, MISO, SCK. Как уже говорилось выше, уважаемым Rash - по линии MOSI (Master Out Slave In) осужествляется передача данных от МК к переферии, по линии MISO (Maste In Slave Out), как Вы догадались прием данных МК от переферии. С помощью линии SCK МК тактирует переферию для приема-передачи последовательных данных по линиям MISО-MOSI


И, как уже говорилось не надо путать SPI с ISP.

2 DeXteR - кстати, лучше всего посмотреть схему SPI в даташите на какой - нибудь МК там же всё разрисовано. Представь себе, что SPI - это два закольцованных сдвиговых регистра. Один в Мастере - другой в Слейве. Мастер тактирует эти регистры по линии SCK. SS, если он есть - это разрешение на прохождение тактовых импульсов в Слейв.