Jump to content

Как изменить выходную частоту ШИМ при программировании stm32 с помощью Arduino


Fordli
 Share

Recommended Posts

Недавно я использовал Arduino для программирования stm32, и мне нужно использовать ШИМ-выход, но кажется, что частота фиксирована на 550 Гц.
Я хотел бы знать, как изменить частоту ШИМ простым и легким способом.
Например, я могу использовать analogWriteFreq(3000) для изменения частоты ШИМ на 3 КГц на ESP8266, но эта функция не работает на stm32. есть ли аналогичный метод для stm32?

Link to comment
Share on other sites

6 часов назад, Fordli сказал:

есть ли аналогичный метод для stm32?

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

Link to comment
Share on other sites

Реле, разъемы, вентиляторы, корпуса, микросхемы, конденсаторы и много другое!

Скидки до 20% на сайте электронного дискаунтера ТМ Электроникс.

Бесплатная доставка в любую точку России + кэшбэк 15%.

Всем кто сделает заказ в сентябре, начислим 3000 баллов на аккаунт. 1 балл = 1 рублю!

Подробнее

6 часов назад, Fordli сказал:

как изменить частоту ШИМ простым и легким способом.

Выкинуть либы ардуйни и написать что-то такое:

	RCC->APB2ENR |=  RCC_APB2ENR_TIM1EN;   

	TIM1->PSC = 89;  	
	TIM1->ARR = 3;
	TIM1->CCER |= TIM_CCER_CC1E;	
	TIM1->CCMR1 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2;
	TIM1->CCR1 = 2;	
	TIM1->BDTR |= TIM_BDTR_MOE;
	TIM1->CR1 |= TIM_CR1_CEN;

Вот PSC - предделитель тактовой частоты, которая поступает на таймер, а ARR - то, до скольки считает таймер. Соответственно, меняя значение PSC можно менять частоту ШИМ.

Link to comment
Share on other sites

19.07.2021 в 16:59, BARS_ сказал:

Выкинуть либы ардуйни и написать что-то такое:


	RCC->APB2ENR |=  RCC_APB2ENR_TIM1EN;   

	TIM1->PSC = 89;  	
	TIM1->ARR = 3;
	TIM1->CCER |= TIM_CCER_CC1E;	
	TIM1->CCMR1 |= TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1M_2;
	TIM1->CCR1 = 2;	
	TIM1->BDTR |= TIM_BDTR_MOE;
	TIM1->CR1 |= TIM_CR1_CEN;

Вот PSC - предделитель тактовой частоты, которая поступает на таймер, а ARR - то, до скольки считает таймер. Соответственно, меняя значение PSC можно менять частоту ШИМ.

Спасибо!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...