Форум РадиоКот https://radiokot.ru/forum/ |
|
Управление состоянием таймера https://radiokot.ru/forum/viewtopic.php?f=59&t=198257 |
Страница 1 из 1 |
Автор: | DmitryR [ Пн июн 09, 2025 05:24:43 ] | ||
Заголовок сообщения: | Управление состоянием таймера | ||
Добрый день, хотел бы реализовать следующий функционал таймера: Есть таймер 8 настроенный в режиме one pulse mode, который запускается от внешнего сигнала. Сам импульс генерируется спустя некоторое время с момента запуска таймера. Есть временной промежуток TIM1, за пределами которого не допускается, чтобы был сгенерирован импульс TIM8. Как можно разрешать и запрещать генерацию импульса one pulse mode таймера TIM8? Запрещать и разрешать работу таймера не получится, так как запуск происходит до промежутка TIM1, менять постоянно назначение выходного пина TIM8 думаю тоже будет не совсем правильно
|
Автор: | veso74 [ Пн июн 09, 2025 09:24:54 ] |
Заголовок сообщения: | Re: Управление состоянием таймера |
Поделитесь значениями времен применительно к работе таймеров (μs, ms, s ...). Допуск в параметрах событий? Также какая тактовая частота МК? Вижу варианты с прерываниями и флагами; с привязкой таймера на основе событий. (update: counter overflow/underflow, counter initialization). И остановка/запуск таймера X вполне применимы. |
Автор: | DmitryR [ Пн июн 09, 2025 10:23:20 ] |
Заголовок сообщения: | Re: Управление состоянием таймера |
veso74, Частота мк 200 МГц, временные периоды десятки-сотни мксек. Но точность, с которой требуется управлять TIM8 максимальна, т.е. 5 нсек Пока у меня идея зайти через ARR и CCR. Таймер TIM8 формирует импульс в режиме LOW потом HIGH. Т.е. стартует с LOW и при достижении CCR на выбранном канале он переключается в HIGH и считает до значения ARR. Допустим изначально я выставляю нерабочую конфигурацию (CCR > ARR) по логике он не должен сформировать импульс. Но сам таймер при этом запустится и будет считать. Теперь при начале импульса TIM1, когда разрешается работа TIM8 я меняю CCR на рабочее значение и все срабатывает как надо. Ну и затем опять меняю CRR > ARR. Не знаю насколько это правильно и допустимо, пока не тестировал. И надо обработать ситуацию, когда выставляется нормальное положение CCR, но при этом счет таймера уже прошел нужную величину |
Автор: | GARMIN [ Вт июн 10, 2025 11:46:56 ] |
Заголовок сообщения: | Re: Управление состоянием таймера |
У СТМ для таймеров есть возможность каскадного соединения, можно на один таймер завести разрешающий сигнал с другого, но не в произвольном порядке. |
Автор: | jcxz [ Вт июн 10, 2025 13:28:47 ] |
Заголовок сообщения: | Re: Управление состоянием таймера |
У СТМ для таймеров есть возможность каскадного соединения, можно на один таймер завести разрешающий сигнал с другого, но не в произвольном порядке. Автор даже не удосужился написать - про какой МК идёт речь? Видимо про дефолт-МК: STM32F103 ![]() В разных МК есть разные возможности межсоединений сигналов таймеров между собой. В МК XMC4xxx очень богатые настройки таких соединений. Можно с таймера на таймер передавать сигналы: старта счёта; стопа счёта; захвата; разрешения счёта; переключения направления счёта; перезагрузки счётчика таймера; триггер сигналы (инкремент/декремент); переполнения; и т.п. Всё это настраивается соответствующими мультиплексорами в регистрах управления таймеров. |
Автор: | Alex-lab [ Ср июн 11, 2025 23:29:51 ] |
Заголовок сообщения: | Re: Управление состоянием таймера |
Смотрите в сторону бланкирования Таймером 1 разрешающего сигнала для TIM8. Тут нет универсального решения, все зависит от конкретной модели контроллера. |
Автор: | Zelenyj111 [ Чт июн 12, 2025 03:33:43 ] |
Заголовок сообщения: | Re: Управление состоянием таймера |
F103 не может 200 МГц. Если STM32, то тогда H523. |
Автор: | jcxz [ Чт июн 12, 2025 17:46:44 ] |
Заголовок сообщения: | Re: Управление состоянием таймера |
F103 не может 200 МГц. Некоторые умеют заставить. ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |