Buenas estoy con un proyecto de bluetooth y me he quedado atascado he conseguido que reciba algo pero no me recibe lo que debe de recibir y no se en que fallo por mas vueltas que le y busque en manuales y foros.
Uso un pic 18f2550 con un resonador de 20Mhz y el modulo bluetooth Hc-06(Linvor) a 9600 baud el programa es el siguiente:
Uso un pic 18f2550 con un resonador de 20Mhz y el modulo bluetooth Hc-06(Linvor) a 9600 baud el programa es el siguiente:
Código:
#fuses HSPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,CPUDIV2,VREGEN,NOPBADEN,PLL5,PUT
#use delay(clock=20000000) // Frecuencia máxima de trabajo
//Configuraciones necesarias
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7,BITS=8,PARITY=N, ERRORS,STREAM=BLUE)
#use standard_io(B)
//Variables
char recibido=' ';
char error='E';
char dato_recibido;
//Interrupcion
#int_RDA
void RDA_isr()
{
recibido=' ';
recibido=getc();
dato_recibido=1;
output_high(PIN_C0);
delay_ms(500);
}
void main()
{
set_tris_c(0);
output_low(PIN_C0);
enable_interrupts(Global);
enable_interrupts(INT_RDA);
if (input(PIN_B4))
{
recibido='a';
dato_recibido=1;
}
while(1)
{
if(dato_recibido==1)
{
if(recibido == 'a')
{
putc(recibido);
recibido=' ';
}
if(recibido == 'b')
putc(recibido);
recibido=' ';
}
if(recibido == 'c')
{
putc(recibido);
recibido=' ';
}
if(recibido == 'd')
{
putc(recibido);
recibido=' ';
}
if (recibido=' ')
output_low(Pin_C0);
dato_recibido=0;
}
}
}
Última edición: