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

 
 
> Таймер отрабатывает в 2 раза быстрее, stm32f2
marco
сообщение Dec 17 2012, 10:33
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



Доброго дня.
STM32F207

Код
// Настраиваю TIM2 (32bits), работающий напрямую от APB1 (30МГц)
TIM_TimeBaseInitTypeDef TIM_InitStructure;
TIM_InitStructure.TIM_Prescaler = 0x0000;
TIM_InitStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_InitStructure.TIM_CounterMode = TIM_CounterMode_Down;
TIM_InitStructure.TIM_Period = 0xFFFF;
TIM_TimeBaseInit(TIM2, &TIM_InitStructure);

TIM_SelectOnePulseMode(TIM2, TIM_OPMode_Repetitive);
TIM_ARRPreloadConfig(TIM2, ENABLE);

TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
NVIC_EnableIRQ(TIM2_IRQn);

// Устанавливаю значение autoreload, равное частоте тактирующего клока (APB1),
// т.е. какой бы клок не был, то при условии отсутствия уможителей
// период таймера равен 1 с.

RCC_ClocksTypeDef rcc_clocks;
RCC_GetClocksFreq(&rcc_clocks);
TIM_SetAutoreload(TIM2, rcc_clocks.PCLK1_Frequency);

TIM_Cmd(TIM2, ENABLE);


На деле получаю период 0,5 с.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flexz
сообщение Dec 17 2012, 13:26
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 9-10-08
Из: Московская обл.
Пользователь №: 40 797



Если прескейлер на APB равен единице (т.е. APB рабоатет на частоте AHB), то таймеры работают на частоте шины. Если же прескейлер на APB больше единицы, то таймеры работают на удвоенной частоте шины.
PS см раздел RCC, Clock tree.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 17 2012, 13:28
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Flexz @ Dec 17 2012, 16:26) *
Если прескейлер на APB равен единице (т.е. APB рабоатет на частоте AHB), то таймеры работают на частоте шины. Если же прескейлер на APB больше единицы, то таймеры работают на удвоенной частоте шины.

Т.е. в данном случае, на частоте 60 MHz.
Go to the top of the page
 
+Quote Post
pitt
сообщение Dec 24 2012, 22:19
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(ViKo @ Dec 17 2012, 08:28) *
Т.е. в данном случае, на частоте 60 MHz.

Это смотря какой таймер - они на обеих шинах сидят, т.е. может быть и 120МHz


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 25 2012, 06:54
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(pitt @ Dec 25 2012, 01:19) *
Это смотря какой таймер - они на обеих шинах сидят, т.е. может быть и 120МHz

Не может. На частоту шин есть ограничения.
Go to the top of the page
 
+Quote Post



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

 


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


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