Tengo un hardware con el módulo bluetooth RN-41 y el microprocesador lpc 214 arm.Actualmente mi dispositivo sólo envía datos al PC y estoy tratando de configurarlo para ser capaz de recibir algunos comandos a través de bluetooth y realizar ciertas acciones, por ejemplo, parpadear el LED, apagar, etc.
Tengo una GUI serial en matlab que tiene botones (LED ON, LED OFF, SHUTDOWN etc) donde cada botón al ser presionado envía un valor asociado al hardware a través de un puerto serial virtual para realizar una determinada acción.
Hasta ahora no he podido conseguir que mi dispositivo realice ninguna acción correctamente.Definitivamente veo que el hardware responde a la pulsación de un botón de forma extraña pero nunca realiza la acción deseada.Creo que puedo haber configurado la UART incorrectamente. Creo que he configurado la UART de forma incorrecta.
Cualquier ayuda será muy apreciada.
Gracias.
void setup_uart0(int newbaud, char want_ints)
{
baud = newbaud;
U0LCR = 0x83; // 8 bits, no parity, 1 stop bit, DLAB = 1
U0DLM = 0x00; // set for baud high byte
U0DLL = 0x06; // set for baud low byte
U0FDR = 0xC1;
U0LCR = 0x03;
VICVectCntl1 = 0x00000026;
VICVectAddr1 = (unsigned int) UART0ISR;
VICIntEnable = (1<<6);
//PINSEL0 = 0x0F001555;
}
void UART0ISR(void)
{
unsigned int i;
unsigned char ch;
U0IER = 0x01;
while(!(U0LSR&0x01));
uart0_rx_buffer[uart0_rx_extract_idx++]=U0RBR;
uart0_rx_extract_idx %=UART0_RX_BUFFER_SIZE;
ch = uart0_rx_buffer;
for (i=0;i<8;i++)
uart0_rx_buffer[i]= 0;
return U0RBR;
if(ch ==0x0A){
VICIntEnable &= (~0x00020000);
eventMarker=1;
ch=0;
}
else if (ch ==0x0B){
shutdown();
ch=0;
}
else if (ch ==0x0C){
blink(1,ON);
ch=0;
}
else if (ch ==0x0D){
blink(1,OFF);
ch=0;
}
VICIntEnable |= 0x00024000;
VICVectAddr= 0;
U0IER = 0x00;
}