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

 
 
> STM32f4 Basic timer?
TolikG
сообщение Nov 5 2014, 12:33
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Простейшая задача: при помощи таймера отсчитать задержку N микросекунд и выставить прерывание. Пол дня чтения мануала и гугля не дали результата. Все найденные примеры работают в цикле (проверил). Попытался запускать таймер однократно, а в обработчике прерывания - останавливать. После этого записываю новое значение задержки в прескаллер и снова запускаю таймер. Результат - желаемая задержка происходит не в текущем цикле таймера, а только в следующем. Мануал гласит, что регистры обновляются по событию переполнения таймера. Подскажите решение.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AHTOXA
сообщение Nov 5 2014, 13:33
Сообщение #2


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(TolikG @ Nov 5 2014, 17:33) *
Мануал гласит, что регистры обновляются по событию переполнения таймера. Подскажите решение.

Сгенерировать событие переполнения таймера вручную:
Код
TIM2->EGR |= TIM_EGR_UG;


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
TolikG
сообщение Nov 5 2014, 14:09
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 19-03-10
Пользователь №: 56 071



Цитата(AHTOXA @ Nov 5 2014, 16:33) *
Сгенерировать событие переполнения таймера вручную:
Код
TIM2->EGR |= TIM_EGR_UG;

Так пробовал, но при этом генерируется прерывание. Пришлось запретить прерывание, обновить регистры, очистить регистр статуса, разрешить прерывание... Криво как то, но заработало. Задержка при этом увеличилась по сравнению с циклическим примером
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 07:13
Рейтинг@Mail.ru


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