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

 
 
 
Reply to this topicStart new topic
> STM32F051K4T6 TIM1 PWM, Не работает!
MiklPolikov
сообщение Nov 27 2017, 15:57
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



В процессоре STM32F051K4T6 не работает TIM1 PWM.
Такое впечатление, что что-то не так с таймером, будто бы его вообще нет, или на ногах нет функции PWM.
Подскажите, в чём дело ?
Заранее спасибо!


Код
  //Инициализация порта
     GPIOA->MODER &= ~(GPIO_MODER_MODER8_0 | GPIO_MODER_MODER9_0 | GPIO_MODER_MODER10_0 | GPIO_MODER_MODER11_0);     
     GPIOA->MODER |=  (GPIO_MODER_MODER8_1 | GPIO_MODER_MODER9_1 | GPIO_MODER_MODER10_1 | GPIO_MODER_MODER11_1);         
     GPIOA->OSPEEDR |= (GPIO_OSPEEDER_OSPEEDR8 | GPIO_OSPEEDER_OSPEEDR9 | GPIO_OSPEEDER_OSPEEDR10 | GPIO_OSPEEDER_OSPEEDR11);
     GPIOA->AFR[1]|=(2<<0);  //TIM1_CH1
     GPIOA->AFR[1]|=(2<<4);  //TIM1_CH2
     GPIOA->AFR[1]|=(2<<8);  //TIM1_CH3
     GPIOA->AFR[1]|=(2<<12); //TIM1_CH4


//Инициализация таймера
RCC->APB2ENR|=RCC_APB2ENR_TIM1EN;  //включили тактирование TIM1

   RCC->APB2RSTR|=RCC_APB2RSTR_TIM1RST;  //сброс настроек TIM1
   RCC->APB2RSTR&=~RCC_APB2RSTR_TIM1RST;  

   TIM1->CCER|=TIM_CCER_CC1E | TIM_CCER_CC2E  | TIM_CCER_CC3E | TIM_CCER_CC4E;

   TIM1->CCMR1|=TIM_CCMR1_OC1M_1|TIM_CCMR1_OC1M_2;
   TIM1->CCMR1|=TIM_CCMR1_OC2M_1|TIM_CCMR1_OC2M_2;
   TIM1->CCMR2|=TIM_CCMR2_OC3M_1|TIM_CCMR2_OC3M_2;
   TIM1->CCMR2|=TIM_CCMR2_OC4M_1|TIM_CCMR2_OC4M_2;
    
   TIM1->ARR=50;

   TIM1->PSC=0;
    
  TIM1->CCR1=25;
  TIM1->CCR2=0;
  TIM1->CCR3=0;
  TIM1->CCR4=0;
    
   TIM1->CR1|=TIM_CR1_CEN; //включили таймер




--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 27 2017, 16:07
Сообщение #2


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

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



У первого таймера есть специальный битик MOE в регистре BDTR. Без него никакие выходы не работают.
Код
    TIM1->BDTR |= TIM_BDTR_MOE;


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Aleksandr Barano...
сообщение Nov 27 2017, 20:54
Сообщение #3


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

Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118



Я не заметил, делаете-ли Вы что-нибудь с битом "Preload Enable". У STM32F051 есть такой?


--------------------
ASB
Go to the top of the page
 
+Quote Post

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

 


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


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