#include <htc.h>
__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & CP_OFF & CPD_OFF & BOREN_OFF);
#define _XTAL_FREQ 4000000
void PWM_Init(void) {
TRISC &= ~(1 << 5); // RC5 as output
T2CON = 0b00000100; // Timer2 on, prescaler 1:1
PR2 = 99; // 10 kHz PWM period
CCP1CON = 0b00001100; // PWM mode
CCPR1L = 50; // 50% duty cycle
CCP1CON &= ~(1 << 5); // DC1B1 = 0
CCP1CON &= ~(1 << 4); // DC1B0 = 0
}
void main(void) {
OSCCON = 0b01100000; // Set internal oscillator to 4 MHz
PWM_Init();
while(1) {}
}
I2luY2x1ZGUgPGh0Yy5oPgpfX0NPTkZJRyhGT1NDX0lOVE9TQ0lPICYgV0RURV9PRkYgJiBQV1JURV9PRkYgJiBNQ0xSRV9PRkYgJiBDUF9PRkYgJiBDUERfT0ZGICYgQk9SRU5fT0ZGKTsKI2RlZmluZSBfWFRBTF9GUkVRIDQwMDAwMDAKCnZvaWQgUFdNX0luaXQodm9pZCkgewogICAgVFJJU0MgJj0gfigxIDw8IDUpOyAgICAgICAgIC8vIFJDNSBhcyBvdXRwdXQKICAgIFQyQ09OID0gMGIwMDAwMDEwMDsgICAgICAgICAvLyBUaW1lcjIgb24sIHByZXNjYWxlciAxOjEKICAgIFBSMiA9IDk5OyAgICAgICAgICAgICAgICAgICAvLyAxMCBrSHogUFdNIHBlcmlvZAogICAgQ0NQMUNPTiA9IDBiMDAwMDExMDA7ICAgICAgIC8vIFBXTSBtb2RlCiAgICBDQ1BSMUwgPSA1MDsgICAgICAgICAgICAgICAgLy8gNTAlIGR1dHkgY3ljbGUKICAgIENDUDFDT04gJj0gfigxIDw8IDUpOyAgICAgICAvLyBEQzFCMSA9IDAKICAgIENDUDFDT04gJj0gfigxIDw8IDQpOyAgICAgICAvLyBEQzFCMCA9IDAKfQoKdm9pZCBtYWluKHZvaWQpIHsKICAgIE9TQ0NPTiA9IDBiMDExMDAwMDA7ICAgICAgICAvLyBTZXQgaW50ZXJuYWwgb3NjaWxsYXRvciB0byA0IE1IegogICAgUFdNX0luaXQoKTsKICAgIHdoaWxlKDEpIHt9Cn0=