Задача. Хотелось бы использовать GPDMA для выдачи блока данных из памяти в SSP, который используется в режиме SPI. Блоки должны выдаваться по периодическому прерыванию (у меня по PWM1). Время на выдачу блока гарантированно меньше периода прерываний. По прерыванию TC от DMA (окончание выдачи) - перезагружаю значение TransferSize в DMACCxControl и адрес источника данных в памяти (перезагружаю рег-р DMACCxSrcAddr). В прерывании от PWM1 только устанавливаю бит Enable рег-ра DMACCxConfig для запуска новой пачки. Вроде всё правильно, но ... Наблюдаю на осциллографе непрерывную выдачу данных по SSP абсолютно не синхронизированную с периодическими прерываниями. В чем ошибка?
|