662 Kişi Okudu
Aşağıda yazmış olduğumuz program; işlemcinin 1. ve 4. kanalına bağlı motorları 100 ms lik aralıklarla hızlandıran bir programdır.
Kullandığımız STM32F0 PWM kanalları 16 bir çözünürlüktedir. Bu da demek oluyor ki çözünürlüğümüz 65535 maksimum değer alır. Oldukça iyi.
int b=0 ;
void pwm(int motor1 , int motor2, int bekle) {
PWM_TIM1_Set_Duty(motor1, _PWM_NON_INVERTED, _PWM_CHANNEL1);
PWM_TIM1_Set_Duty(motor2, _PWM_NON_INVERTED, _PWM_CHANNEL4);
Vdelay_ms(bekle) ;
}
void main() {
PWM_TIM1_Init(10000);
PWM_TIM1_Start(_PWM_CHANNEL1, _GPIO_MODULE_TIM1_CH1_PA8);
PWM_TIM1_Start(_PWM_CHANNEL4, _GPIO_MODULE_TIM1_CH4_PA11);
do{
pwm(b,b,100);
b=b+10;
if(b=4000){
b=0;
}
}while(1);
}
}