Цитата(VslavX @ Nov 10 2008, 10:39)

Хм, я чего-то недопонял - если SAM7 в режиме Slave - то тактовая на SPI вроде должна генерироваться вторым процессором? И пока тактовая на SPI не пойдет - то данных SAM7 принимать по SPI не будет - автоматически будет ждать начала пакета. Так в чем именно проблема?
Попробую уточнить проблему:
Предположим подали питание на оба процессора, они проинициализировались, но каждый по разному. Предположим master быстрее и начал передавать данные размером 1024 байт, а slave не успел. Пусть slave начал принимать со 2-ого символа, т.о. он примет 1023 байта, затем он ждет приема последнего байта, дожидается его. Но при этом получается, что 1 байт в slave - это 2-ой в master, 2 байт в slave - это 3-bй в master ... 1024 байт в slave - это 1-ый в master. Т.о. получается смещение данных.
Данную проблему можно решить, если master подождет slave. Но предположим, что находимся в отладке на slave, а мастер работает самостоятельно, тогда проблема возникает вновь.
Цитата(_dem @ Nov 10 2008, 10:40)

Вам надо из синхронного протокола сделать асинхронный. В таком случае либо SSC, либо городите свой мини-протокол более высокого уровня. Хотя, если с SPI у вас возникают проблемы такого плана, то SSC ситуацию не спасет.
Правда, возникает ряд вопросов -
- почему SAM - slave ?
Ну будет SAM-мастером, то проблема нужно будет решать у другого процессора, который slave.
Цитата(_dem @ Nov 10 2008, 10:40)

- почему, если это ваша система, Вы не знаете, на какой размер данных нужно запускать PDC ?
Размер известен - 1024 байт
Цитата(_dem @ Nov 10 2008, 10:40)

- почему, если SAM - slave, возникают-таки проблемы с PDC ? Он же работает по клоку от мастера, т.е.
зарядили PDC, дождались окончания приема, зарядили следующий буфер...
Да это так. Постом выше я попытался дать более точную деталировку проблемы