Я использую DMA (описанный как PDC в спецификации) SAM4SD16C с периферийным устройством USART 0.Я установил таймер, который генерирует прерывание каждую мс.Каждые 5 мс передача данных должна выполняться через DMA.Другое прерывание должно происходить, когда установлен флаг TXEMPTY.
Чтобы увидеть, когда передача начинается и заканчивается, я переключаю Ouptut и наблюдаю за ним на осциллографе.И тогда я понял, что время окончания приема варьируется во времени на 20 мкс (мои основные часы - 120 МГц) ... Что в моем проекте неприемлемо.Между тем, начало передачи является точным на 100 нс, поэтому никаких проблем в этом вопросе нет.
Мне интересно, есть ли способ лучше контролировать передачу времени DMA.