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

 
 
> ШИМ в STM32F4
stm32f4
сообщение Aug 13 2012, 11:45
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 11-08-12
Пользователь №: 73 098



Всем привет!Битый час сижу и не могу настроить ШИМ(
Пытаюсь настроить шим на ноге РА2, вроде все сделал как в даташите, но.............
Код
//***********TIM2***************
    RCC->APB1ENR    |=RCC_APB1ENR_TIM2EN;        // тактирование таймера
    GPIOA->MODER    |=0x4;
    TIM2->CR1        |= TIM_CR1_CMS;                // выравнивание по центру
    TIM2->PSC         = 16000-1;
    TIM2->ARR        = 0xFF;                        // счетный регистр (период шима)
    TIM2->CCMR2        |= TIM_CCMR2_OC3CE;            // !
    TIM2->CCMR2        |= TIM_CCMR2_OC3M;            // инвертированный шим
    TIM2->CCER         |= TIM_CCER_CC3E;            // разрешаем таймеру использование ШИМ
    TIM2->CR1         |= TIM_CR1_CEN;                // запуск таймера
    TIM2->CR1         |= TIM_CR1_ARPE;            // разрешаем перезагрузку ARR
    TIM2->CCR3        =0x1F;

Я правильно понимаю?, чтобы запустить шим на ноге РА2(канал СН3) мне нужно работать с регистроми CCMR2, ну и CCR3 !

Сообщение отредактировал stm32f4 - Aug 13 2012, 11:47
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BlackOps
сообщение Aug 23 2012, 05:11
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



тут небольшой вопрос хотел бы уточнить, чтоб новой темы не создавать.

вот например использую я TIM3, хочу чтобы на выходе чипа был сигнал с периодом 7.5мс, т.е. 3.75мс 1, и 3.75мс 0. Или 50% дуты цыцле.

вот код моей настройки таймера:
Код
// enable TIM3 clock
RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;


// set the Auto Reload Register
// PWM_period = Needed period / (1/TIM_frequency)
TIM3->ARR = 15000; // PWM_period = 7.5ms / (1/2MHz)

// set the prescaler
TIM3->PSC = 20; // f_cnt = 42MHz / (PSC + 1) = 2MHz

// clear CR2
TIM3->CR2 = 0;


TIM3->CCR1 = 7500; // 50% duty cycle

// set output compare mode 1.
TIM3->CCMR1 |= TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1;

// enable Output compare
TIM3->CCER |= TIM_CCER_CC1E;

// enable TIM3
TIM3->CR1 |= TIM_CR1_CEN;



тут такое дело, ведь если я делю 42МГц клок на 21, и получаю 2МГц, а следовательно этот клок и является клоком таймера, то чтобы получить период в 7.5мс мне нужно чтобы счетчик посчитал до 15000, т.к. 1 клок - (1/2МГц = 0.5мкс), но а 15000 клоков это 7.5мс.


я загружаю в ARR 15000, ну а в CCR1 7500, т.к. мне 50% нужно.


Но почему я на выходе на осциллографе вижу сигнал с периодом 3.75мс, 50%, т.е. в два раза ровно быстрее?
ведь выбран режим: считать вверх, и счет идет каждые 0.5мкс (2МГц клок после деления 42МГц на 21)
что я тут упустил?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- stm32f4   ШИМ в STM32F4   Aug 13 2012, 11:45
- - sidy   Тактирование порта GPIOA разрешено? Счет таймера T...   Aug 13 2012, 15:21
|- - stm32f4   Цитата(sidy @ Aug 13 2012, 19:21) Тактиро...   Aug 13 2012, 15:22
|- - adnega   Цитата(stm32f4 @ Aug 13 2012, 19:22) угу)...   Aug 13 2012, 15:33
|- - stm32f4   Цитата(adnega @ Aug 13 2012, 19:33) Да ну...   Aug 13 2012, 16:11
|- - adnega   Цитата(stm32f4 @ Aug 13 2012, 20:11) ну ч...   Aug 13 2012, 16:35
|- - stm32f4   Цитата(adnega @ Aug 13 2012, 20:35) Вы же...   Aug 14 2012, 09:24
- - adnega   КодGPIOA->AFR[1] Нужно GPIOA->AFR[...   Aug 14 2012, 09:39
|- - stm32f4   Цитата(adnega @ Aug 14 2012, 13:39) КодGP...   Aug 14 2012, 10:23
|- - adnega   Цитата(stm32f4 @ Aug 14 2012, 14:23) Воу,...   Aug 14 2012, 11:25
|- - stm32f4   Цитата(adnega @ Aug 14 2012, 15:25) Это н...   Aug 14 2012, 12:58
|- - adnega   Цитата(stm32f4 @ Aug 14 2012, 16:58) Ого,...   Aug 14 2012, 16:27
|- - stm32f4   Цитата(adnega @ Aug 14 2012, 20:27) Может...   Aug 15 2012, 10:50
- - BlackOps   мне кажется что клок таймера ТИМ3 = клок периферии...   Aug 23 2012, 06:23
|- - adnega   Цитата(BlackOps @ Aug 23 2012, 10:23) мне...   Aug 23 2012, 07:08
- - BlackOps   ясно, спасибо.   Aug 23 2012, 07:13


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

 


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


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