stm32f103 pwm

Başlatan ~ENES~, 21 Ekim 2018, 12:52:01

~ENES~

Arkadaşlar merhaba ;
STM32f103c işlemcisi olan modül var elimde. Bu modül ile pwm üretmek istiyorum. Fakat ne yaptıysam başarılı olamadım. Yazdığım kodu ekliyorum sizce nerede hata yapıyorum ? A8 pininden pwm almak istedim. Pini çıkış yaptım pwm ayarlarını da yaptım lakin hiç hareket yok :( yardımcı olabilirseniz memnun olurum.

  analog  = 2500;                        // initial value for current_duty
  period = PWM_TIM1_Init(5000);
  PWM_TIM1_Set_Duty(analog,  _PWM_NON_INVERTED, _PWM_CHANNEL1);  // Set current duty for PWM_TIM1
  PWM_TIM1_Start(_PWM_CHANNEL1, &_GPIO_MODULE_TIM1_CH1_PA8);

Firzen

Kararsız...

Murat Mert

aşağıdaki kodu kullanarak pwm sinyalini kontrol etmiştim.
      period= PWM_TIM4_Init(10000);
      PWM_TIM4_Set_Duty(0,  _PWM_NON_INVERTED, _PWM_CHANNEL2);  
      PWM_TIM4_Start(_PWM_CHANNEL2, &_GPIO_MODULE_TIM4_CH2_PB7);
       pwm_yuzde= period/100;

     while(1)
  
{

      PWM_TIM4_Set_Duty(pwm_yüzde*50,  _PWM_NON_INVERTED, _PWM_CHANNEL2);//10 khz %50 pwm
}
mert07

~ENES~

@muratmertgenc hocam verdiğin kodda çalışıyor b7 den pwm alabiliyorum lakin ayarları tim1 kanal 1 e göre yapınca çalışmıyor .. acaba kütüphanelerde mi problem var ?

Murat Mert

Alıntı yapılan: enes1153 - 21 Ekim 2018, 16:14:22@muratmertgenc hocam verdiğin kodda çalışıyor b7 den pwm alabiliyorum lakin ayarları tim1 kanal 1 e göre yapınca çalışmıyor .. acaba kütüphanelerde mi problem var ?

Sn. @enes1153 herbacağın timer kanalı aynı değil ve istediğin timer i atayamazsın. CubeMX programını indirip pinlere bakmanız lazım.
mert07

Murat Mert

timer1 pwm kanalları:
ch1_PA8
ch2_PA9
ch3_PA10
ch4_PA11

timer2 pwm kanalları:
ch1_PA0
ch2_PA1
ch3_PA2
ch4_PA3

timer3 pwm kanalları:
ch1_PA6
ch2_PA7
ch3_PB0
ch4_PB1


timer4 pwm kanalları:
ch1_PB6
ch2_PB7
ch3_PB8
ch4_PB9

Bütün kanalları seçerek yaptım. Bazı kanalar diğer timerlerde çalışabilir. Hepsini seçince sıralama şeklinde göstermiş olabilir örn. tim2_ch3 başka kanalda daolabilir gibi. Kolay gelsin.
mert07