Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Cчетчик импульсов на STM32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
dimone
Подскажите пожлуйста, как изящнее одним таймером (любым) аппаратно организовать на STM32 подсчет импульсов с формированием фронта сброса по достижению установленного кол-ва.
KnightIgor
Цитата(dimone @ Mar 21 2013, 07:49) *
Подскажите пожлуйста, как изящнее одним таймером (любым) аппаратно организовать на STM32 подсчет импульсов с формированием фронта сброса по достижению установленного кол-ва.

Без конкретного кода, описательно: таймер программируется в режим тактирования снаружи в режиме compare, регистр capture/compare содержит установленное количество импульсов, а прерывание по совпадению генерирует фронт сброса. Тот же фронт можно сгенерировать и аппаратно, подав сигнал совпадения наружу. Почитайте доку.
dimone
2 'KnightIgor
Спасибо большое за совет, естесственно читал, хотелось узнать возможные варианты для решения даже тривиальной задачи.
dimone
Цитата(KnightIgor @ Mar 21 2013, 10:18) *
Без конкретного кода, описательно: таймер программируется в режим тактирования снаружи в режиме compare, регистр capture/compare содержит установленное количество импульсов, а прерывание по совпадению генерирует фронт сброса. Тот же фронт можно сгенерировать и аппаратно, подав сигнал совпадения наружу. Почитайте доку.

Почитал доку еще, получилось, ТІ считает и на нужном импульсе выставляет ОС, но сбрасывать нужно по заднему фронту считаемого импульса, а не от следующег о, который надо считать..на САМ-е я синхрнно запускал еще таймер который отсчитывал импульс сброса, а можно ли тут обойтись одним?
polyname
как вариант - настроить триггер по обоим фронтам, в регистр сравнения записать удвоенное количество импульсов
dimone
Цитата(polyname @ Mar 24 2013, 23:31) *
как вариант - настроить триггер по обоим фронтам, в регистр сравнения записать удвоенное количество импульсов

боюсь не проидет, так как в любом врианте сравнеине и сброс(релоад) считают от одного источника, вот если бы можно было их
развести -одного на нарастающй, другого на низпадающий то думается всё бы вышло.
Впринципе достаточно что-бы после нужного кол-ва импульсов формировался фронт, и до следующего совпадения его надо как то сбросить
-придумалос как вариант задействовать ООС подав сигнал выхода на вход принудительного сброса через RC цепочку(если понадобится), но все равно
криво выходит
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.