Итак, имеем в памяти бууфер из байтов достатчно большого размера ~22 кб. Надо его заслать его в SPI, но в 9-ти битном виде.
текущая процедура отправки выглядит так -
Код
for(j=0; j<sizeof(frame); j++) {
    while(SSP_GetFlagStatus(SSP1, SSP_FLAG_TxFifoNotFull)==RESET);
    SSP_SendData(SSP1, frame[j]|0x0100);  
  }

Т.е. надо брать каждый байт и ставить у него 9-бит. Как бы для этого приспособить ДМА?
размер данных в памяти увеличивать не хочется.
Вижу вариант такой:
Берем, например, 8 байт из буфера и распихиваем их во временый буффер из 9 байт вставляя перед каждым байтом по байтику. Потом шлем такой буфер в 8-ти битнмо режиме DMА. Или такое не пройдет?