Estoy intentando generar una onda cuadrada en un ciclo de trabajo del 50% usando mi PIC18F2550. La señal se debe emitir a través de un altavoz. La frecuencia realmente no importa, siempre que esté en el rango de audición (algunos Khz deberían hacerlo).
Este es mi código bastante simplista;
#include "xc.h"
void PWM_init(void);
void Chip_init(void);
void main(void){
Chip_init();
PWM_init();
while(1);
}
void PWM_init(void) {
/****Set All PWM Registers*****/
PR2 = 0b11111111;
T2CON = 0b00000111;
CCPR2L = 0b01111111;
CCP2CON = 0b00111100;
}
void Chip_init(void){
/** Initialize all outputs ****/
LATCbits.LATC1 = 0;
TRISCbits.TRISC1 = 0;
LATBbits.LATB3 = 0;
TRISBbits.TRISB3 = 0;
}
Esto debería darme una señal PWM de aproximadamente 3Khz en C1 o B3, al menos a mi entender. Pero no consigo nada, por desgracia. ¿Alguien puede decirme dónde me equivoqué?