Boas:
Quero fazer um pwm de 20ms (periodo), em um pic18f8722 com um cristal de 24MHZ. Terá um duclycle de 1,5ms. A seguir escrevo o código e gostava de ler comentários a cerca do mesmo, Obrigado.
void PWM () // rutina para ciclo de 20ms para PWM dos servos
{
int CicloPwm = 1;
PORTGbits.RG3 = 0 ; // reset no pwm
PORTGbits.RG4 = 0 ;
OpenTimer2 (TIMER_INT_OFF & T2_PS_1_16);
while (CicloPwm <=29) //conta 29 vezes até 255
{
OpenPWM4 (0xFF);
OpenPWM5 (0xFF);
CicloPwm += 1;
}
OpenPWM4 (0xB3); //conta mais 179 vezes para fazer 20ms de impulso
OpenPWM5 (0xB3);
SetDCPWM4(0x230); // duclycle 1,5ms
SetDCPWM5(0x230);
ClosePWM4;
ClosePWM5;
}
FUNCIONA
???