//CONTROLADOR 2 - RECEPÇÃO
#include<p18f4431.h>
#include<usart.h>
#include<stdlib.h>
char cpf[11];
char x_in;
unsigned char string[16];
void config_pwm()
{
PTCON0=0X08;
PTCON1=0X80;
PWMCON0=0X41;
PWMCON1=0X00;
PTPERL=2500;
PTPERH=2500>>8;
PDC0L=((int)(2500*0.075))<<2;
PDC0H=((int)(2500*0.075))>>6;
OVDCOND=0X01;
OVDCONS=0X00;
}
void config_USART()
{
TRISCbits.TRISC6 = 0; // set TX (RC6) as output
TRISCbits.TRISC7 = 1; // and RX (RC7) as input
OpenUSART(USART_TX_INT_OFF
& USART_RX_INT_OFF
& USART_ASYNCH_MODE
& USART_EIGHT_BIT
//& USART_SYNC_MASTER
& USART_CONT_RX
& USART_BRGH_HIGH, 51);
}
void main()
{
OSCCON=0X72;
config_pwm();
config_USART();
while(1)
{
getsUSART(string,16);
x_in=atob(string);
if(x_in=='a')
{
PDC0L=((int)(2500*0.050))<<2;
PDC0H=((int)(2500*0.050))>>6;
OVDCOND=0X01;
}
else if(x_in=='b')
{
PDC0L=((int)(2500*0.100))<<2;
PDC0H=((int)(2500*0.100))>>6;
OVDCOND=0X01;
}
else if(x_in=='c')
{
PDC0L=((int)(2500*0.075))<<2;
PDC0H=((int)(2500*0.075))>>6;
OVDCOND=0X01;
}
}
}