Цитата(nx6310 @ Sep 14 2013, 06:46)

Я для приема по spi через dma просто перевожу spi в режим приемника. тогда на sclk spi идут постоянные клоки. Соответственно нет необходимости в передаче по spi. Здесь в какой то ветке про это писали. По завершению приема надо spi переводить в режим приемо-передатчика.
Возникает, однако, вопрос, как остановить вовремя прием? Рекомендация на стр. 693 " Then wait for one SPI clock cycle (
using a software loop) before disabling the SPI (SPE=0)" в части программной задержки звучит вообще просто дико для системы со множеством прерываний и DMA...
Цитата(adnega @ Sep 14 2013, 12:17)

Добавлено:
Да, совсем забыл - очень помогает уйти от 8 битных посылок SPI к 16 битным.
Мне не поможет, т.к. количество байт для считывания может быть и нечетным.
P.S. как я и намеревался, замутил тему с передачей одного байта, а затем перегрузку N-1 байтов. Похоже, проблема ушла. Предложение
_Pasha толкнуть процесс первый раз синхронно также очень удачен и прост - удивляюсь, как это не пришло в голову мне самому...