На AT91SAM7X-EK взял пример с таймерами и переделал его под частоту срабатываний прерываний в 500КГц т.е. режим прерывания по сравнению (MCK=48МГц, TIMER_CLOCK1 = 24МГц, TC_RC = 47). Максимально упростил проект - после инициализации таймера пустой бесконечный цикл и в самом прерывании инвертирование выхода. На практике (осциллографом) получается частота изменений (из длительности "0" или "1") максимум 460КГц, в среднем менее 400КГц, причем длительности импульсов "0" и "1" неодинаковые и постоянно болтаются.
Контроллер не успевает обработать прерывания или ещё есть какие-нибудь подводные камни? И вообще можно обработать такой поток и успеть перегнать по USB?
|