Цитата(khach @ Oct 27 2006, 13:26)

Цитата(UserXP @ Oct 27 2006, 09:44)

ADCResult = (unsigned short)(ADCDAT>>16);
А какова конечная цель работы АЦП? А то в этом примере результат работы как видно неважен :-). Потому что обычно кучу времени съедает раскладка полученных данных в буфер и проверка окончания цикла.
А как сконфигурен ADCCON? Там же все зависит от настройки клоков в битах 10-12 и 9-8. Кстати, гнаться за минимальным ADC acquisition time нестоит-тогда нужен мощнай драйвер входа АЦП и ошибки становяться слишком большие. Намного лучше чем в референсном дизайне несделать
ftp://ftp.analog.com/pub/www/technology/d...source_code.zipМожно только выиграть на раскладке данных в пямять при многоканальном сборе данных.
А дерганье ЛЕДа вообще все тормозит. К сожалению АД не приводит данных по конкретной реализации внутренностей портов ИО, но все помнять проблемы филипса с "дрыгоножеством", когда пришлось вводить дополнительную периферию фастио. Поэтому для измерений лучше выпустить наружу сигнал ADCBUSY и использовать его для контроля быстродействия.
Да, я привел пример на котором я увидел что конверсия длиться меньше 1мкс, и запись и перезапуск длятся чуть больше 1 мкс..
Если я обмеряю два канала и рассовываю все по разным массивам то время обработки вырастает в разы...
По поводу acquisition time... я тестил разные значения и не заметил ухудшения при установке 2 клоков... ухудшения точности измерений происходят при снижении vref'а ниже 1 вольта

А ADC clock speed = 000 т.е. делитель частоты = 1;
Цитата(etoja @ Oct 27 2006, 14:41)

Читайте на странице №33 даташита:
41Mips - в режиме Thumb,
20Mips - в режиме ARM.
Это связано с тем, что flash имеет ширину 16 бит и для выборки 32-битной команды в режиме ARM требуется 2 такта.
У меня другой даташит

но именно поэтому функии засунуты в оперативку...