ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
13 июля
496073 Топик полностью
vitalyn (12.03.2014 09:49, просмотров: 38) ответил SciFi на 70 микросекунд? Вы в этом прерывании траекторию считаете с двойной точностью и тригонометрией что ли? Расчёты можно и нужно проводить в фоновом режиме, складывая данные в буфер. Прерывание должно всего лишь вынимать готовые данные из буфера, а это
Нет, данные посчитаны ещё за время отработки предыдущей пачки. Там есть несколько засад. Во-первых, там ещё много прерываний приходится от разных источников отрабатывать. Во-вторых, у этого дурацкого SAM7A3 после того, как счётчик числа импульсов посчитал их и уронил свой выход в 0, тем самым запретив генерацию импульсов, он оказывается в ступоре. Дело в том, что у него сигнал SWTRG синхронный, т.е. пока не появится клок на входе его невозможно сбросить, в том числе, установить выход в 1, чтобы эти клоки появились. Приходится: 1) остановить первый счётчик 2) переключать второму вход на системный клок 3) дёрнуть SWTRG 4) немного подождать и остановить, 5) переключать ему вход на выход с первого счётчика 6) задать параметры обоим счётчикам (заранее насчитанные!) и перезапустить.