Перейти к содержанию
    

Таймер на STM32F101

Есть STмка. Кварц к ней 12Мгц. Вопрос: как задать интервал в одну секунду? Или еще что-то знать нужно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кварц должен быть 8 МГц. Но в любом случае определи системную тактовую частоту. После этого определи тактовую частоту таймера, который будешь использовать. Псле этого программируй таймер как нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кварц должен быть 8 МГц. Но в любом случае определи системную тактовую частоту. После этого определи тактовую частоту таймера, который будешь использовать. После этого программируй таймер как нужно.

 

системную тактовую частоту - это PLL?

 

тактовую частоту таймера - а эту где найти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У таймера есть два 16-битных регистра TIM_PSC (делитель тактовой частоты) и TIM_ARR (определяет границу счёта). Период T = TIM_PSC*TIM_ARR / Ftim_clk. А частота тактирования таймера (APB1 или APB2) зависит собственно от выбранных вами настроек RCC: частоты кварца, величин делителя и умножителя (если используется PLL), делителя AHB, делитель APB1/APB2. На картинке в "Referense manual" в главе Reset & clock control.

PS Если делитель APB1==1, то тактовая для таймеров умножается на 2. Для таймеров висящих на APB2 аналогично. Многие попадаются на этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кварц должен быть 8 МГц.

 

Почему? Цитата из datasheet на STM32F100xxx: "The high-speed external (HSE) clock can be supplied with a 4 to 24 MHz crystal/ceramic resonator oscillator."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Примерно так:

http://eugenemcu.ru/publ/13-1-0-73 - тактирование

http://ziblog.ru/2011/01/15/stm32-chast-8-...eryivaniya.html - таймеры

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У таймера есть два 16-битных регистра TIM_PSC (делитель тактовой частоты) и TIM_ARR (определяет границу счёта). Период T = TIM_PSC*TIM_ARR / Ftim_clk.

Не совсем.

T = (TIM_PSC+1)*(TIM_ARR+1) / Ftim_clk

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...