Beruflich Dokumente
Kultur Dokumente
* EJEMPLO 6.1
* Programa que aumenta y disminiye el duty cycle
* de un pwm a 1KHZ por el pin PF3 usando el modulo PWM1 con el generador 3B
* y haciendo la comparacion con el comparador A
int main(void)
{
SYSCTL_RCC_R &= ~(1<<20); /* sin pre escalador para el clock del pwm (bit 20
USEPWMDIV de RCC */
//PWM1_INVERT_R |=(1<<6);
// hacemos un retardo para que un inicio nos muestre la se�al con DC=50%
delayms(5000);
delayms(5000);
delayms(5000);
// luego hacemos un efecto fadding disminuyendo y aumentando el DT
progresivamente
int x;
while(1)
{
for(x=15900;x>=100;x-=100)
{
PWM1_3_CMPA_R = x;
delayms(20);
}
delayms(50);
for(x=100;x<=15900;x+=100)
{
PWM1_3_CMPA_R = x;
delayms(20);
}
delayms(50);
}
}
void delayms(int x)
{
int a, b;
for( a= 0 ; a < x; a++)
for(b = 0; b < 3180; b++)
{}
}