Цитата(_dem @ Oct 8 2007, 10:54)

а нельзя попробовать прикрутить для этих целей USART c STOP BITS = 0 / NO PARITY + DMA ?
или SPI, сделав на одном внешнем элементе генератор "клока" для него ? Всяко эффективнее и точнее будет, чем пытаться софтово это делать - и ресурсы останутся для пересылки "наверх"
у вас позволительна потеря части данных на время подстройки ?
Я сейчас пробую нечто подобное сделать - внешний сдвиговый регистр тактируемый от таймера 0, который (пере) запускается по внешнему прерыванию и прерывание от таймера 1 срабатывающее от 8 тактов таймера 0, в нем загружаются данные с регистра в память. В принципе контроллер такое тянет, проблема в одном - внешнее прерывание срабатывает через 1.4-1.6 микросекунды. Если время реакции уменьшить раза этак в два то должно работать.
Что касается USART - проблема будет в подстройке частоты, чую убежит/прибьется битик в поток

Вот с SPI уже интереснее (сам об этом не подумал) - нужен только "клок" от таймера и без внешнего регистра.
К нему DMA прикручивается?
Потеря данных допустима только вначале - после поток прерываться не должен, а периодические подстройки делать все равно придется.
В FAQ прочитал, что реакция на прерывание будет быстрее в THUMB режиме, а как его установить? Если поставить в настройках проекта в IAR, то с такой прошивкой девайс не работает.
Как вообще уменьшить время реакции на прерывание?