реклама на сайте
подробности

 
 
> stm32f4 tim oc+ic, сброс состояния OC по захвату значения IC
klen
сообщение Sep 21 2016, 20:20
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Здравствуйте.
техническая задача не оригинальна. делаю очередной собственный велосипед - контроллер системы зажигания для маленького двухцилиндрового моторчика.
сечас на макете первый вариант кода работает так: таймер tim2 на первом канале вылавливает значение времени в тиках фронта датчика хола на коленвале, таймер крутится по кругу непрерывно. в прерывании захвата я забираю значение времени из него вычитаю предыдущее которое хранится в временной переменной. таким образом по каждому фронту я узнаю текущий период оборота КВ. тут же я расчитыааю задержку на импульс зажигания и записываю в регистры сравнетя ведомого tim5. которыйработает в одноимпульсном режиме one shot, с запуском через триггер захата в tim2.
все дубово, код не влияет на тайминги, нет джиттера ....но есть смутное ощущение...что можно сделать умнее.
я попробывал сделать тоже самое но на одном таймере. то есть захват работает также но включены еще и канал сравнения tim2, в его регистр я заношу значение текущего захваченного фронта + расчитання задержка. выходы молчат.
при совпадении генерится событие OC и прерывание. но как сбросить состояние выхода в момент следующего входного импульса? в стандартном режиме его сбрасывает по событию переполнения счетчика. можно канибудь настроить канал OC чтоб его сбрасывало от события захвата?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01333 секунд с 7
ELECTRONIX ©2004-2016