Stm32f103 ile çok kanallı pwm

erdemtr55

Üye
Katılım
3 Mart 2025
Mesajlar
254
Kolay gelsin herkese,
Ben stm32f103 ile timer2den ch1 ve ch2 ikiden pwm almak istiyorum. Daha sonraki aşamalarda spwm dönüşecek.
Yani 0-180 derece kanal ch1 aktif olacak, 180-360 ch2 aktif olacak. Biraz chatgbt yaptım , ama verimli sonuç alamadım.
O yüzden size soruyorum, hangi kodu yapabilirim?
 
TIM1->CCR1 ve TIM1->CCR2 üzerinden yapılabiliyor olması gerekli.

C:
if(angle<=180){
   
uint8_t pulse = 112233; // bu değeri kullanıcı hesaplayacak

TIM1->CCR1 = pulse;
TIM1->CCR2 = 0;
   
HAL_TIM_PWM_Stop(&htim1, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2);
}
else{
   
uint8_t pulse = 112233; // bu değeri kullanıcı hesaplayacak
   
TIM1->CCR2 = pulse;
TIM1->CCR1 = 0;
   
HAL_TIM_PWM_Stop(&htim1, TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1);
}

şu şekilde olması gerekli test etmedim.

Angle değerinin başka bir fonksiyonda hesaplandığı varsayıldı.
 

Forum istatistikleri

Konular
8,850
Mesajlar
144,039
Üyeler
3,554
Son üye
burak balcı

Son kaynaklar

Back
Top