Цитата(junkl @ Nov 16 2007, 09:51)

Кто-нибудь использовал более одного Slave-устройства на шине SPI? Какой режим переключения между периферийными устройствами лучше использовать? И возможно ли вообще использовать Fixed Peripheral Mode? Чем грозит вот этот пункт из Errata Sheet?
В каком случае SPI будет заблокрован? Только если изменить PCS в процессе передачи данных от мастера слэйву?
Может быть, у кого-нибудь есть пример работы со SPI в Variable Peripheral Mode с использованием PDC?
Буду очень благодарна!
Использую 8 слейвов (то есть еще с внешним дешифратором). Именно в указанном тобой режиме. Девайсы разные- АЦП, ЦАП, синтезаторы частоты, DataFlash. С этого же SPI и гружусь.
Пользую ПДП, переключаю адрес только после окончания обмена. Никаких проблем не заметил.
Пример- это сложнее, у меня идет поток с возможностью вставки стороннего запроса от других задач, наворочено чуть, может испугать.

А так- ничего сложного. Загоняешь в PDC и далее ждешь прерывания по окончанию запроса.
Нюанс- если быстро подряд послать два запроса к одному и тому же адресу, то может не устанавливать CS в "1" между этими запросами. Каким-то устройствам это может быть критично. В таких случаях я вставлял принудительный таймаут.