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

 
 
> STM32F107RCT6 Time base generator
Auratos
сообщение May 29 2018, 11:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 6-10-14
Пользователь №: 83 032



Добрый день. У меня контроллер STM32F107RCT6. Хочу сделать тактовый генератор на таймере TIM1 (на 1-й канал выдавать частоту). Вроде все инициализировал (таймер, ножку PA8 для Ch1), а на ножке все равно глухо. Частота кварца 72MГц. Т.е. при текущей настройке на выходе должна быть частота 100Гц. Подскажите, пожалуйста, в чем может быть загвоздка? С контроллером серии STM32L100 у меня получалось, там просто некоторые структуры библиотечные выглядят немного иначе. А вот с этим контроллером никак

Код
int main( void) {
  TIM_TimeBaseInitTypeDef timer;
  TIM_OCInitTypeDef TIM_OCConfig;

  SystemCoreClockUpdate ();
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);  
  RCC_APB2PeriphClockCmd(RCC_APB2ENR_AFIOEN, ENABLE);

  GPIO_mInit(GPIO_Speed_10MHz, GPIO_Mode_AF_PP, GPIOA, GPIO_Pin_8);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
  TIM_TimeBaseStructInit(&timer);
  timer.TIM_Prescaler = 11000;
  timer.TIM_Period = 65;
  TIM_TimeBaseInit(TIM1, &timer);
  TIM_ARRPreloadConfig(TIM1, ENABLE);
  
  TIM_OCStructInit(&TIM_OCConfig);
  TIM_OCConfig.TIM_OCMode = TIM_OCMode_Toggle;
  TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OC1Init(TIM1, &TIM_OCConfig);
  TIM_Cmd(TIM1, ENABLE);                      // Включение таймера TIM1_CH1(F1)

  while(1)
  {    
    wdt_reset();            // сброс WDT
  }
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
adnega
сообщение May 29 2018, 14:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



А как включить бит MOE в TIMx_BDTR ?
Go to the top of the page
 
+Quote Post
scifi
сообщение May 29 2018, 15:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(adnega @ May 29 2018, 17:55) *
А как включить бит MOE в TIMx_BDTR ?

"TIM1->BDTR |= TIM_BDTR_MOE;"?
Вот эти зубодробительные инициализации при помощи "полезных" библиотек только всё запутывают.
Go to the top of the page
 
+Quote Post



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

 


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


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