Estoy intentando que pwm funcione en el Atmel Xmega256A3BU. No obtengo el PWM deseado en el pin del puerto. Aquí está mi inicialización para la generación PWM en el código.
void pwm_init()
{
PORTC_DIR = 0x01; //Set PC.0 as the output port
TCC1_PER = 0xFFFF; //Set the period of the waveform
TCC1_CTRLB |= 0x03; //Single slope mode
TCC1_CTRLB |= 0x10; //channel selection CCAEN
TCC1_CTRLA |= 0x02; //clock selection clk/2
}
void main( void )
{
pwm_init();
TCC1_CCABUF = 0x7FFF; //set the duty cycle as 50%
while((TCC1_INTFLAGS & 0x01) == 0); //wait for the new compare value to be loaded
TCC1_INTFLAGS = 0x00; //clear the interrupt flag
while(1);
}
Aquí, acabo de proporcionar el fragmento de mi código que se ejecuta a 32MHz. Entonces, ¿qué más me estoy perdiendo aquí? Cualquier ayuda sería muy apreciada. Estoy haciendo esto en el banco de trabajo AVR IAR. Entonces, si alguien puede compartir su código PWM, eso también sería útil.