Estoy tratando de recibir datos usando UART. Estoy usando el microcontrolador PIC32MX795F512L y uso la biblioteca de periféricos de 32 bits, así que estoy usando funciones como putsUART o ReadUART1 Ahora en el código:
int main()
{
OpenUART1( UART_EN | UART_NO_PAR_8BIT | UART_1STOPBIT , UART_RX_ENABLE | UART_TX_ENABLE, (FPB/16/BAUDRATE)-1 );
TRISDbits.TRISD5 = 0;
while(1)
{
char RX_data;
RX_data = ReadUART1();
if(RX_data == '1')
{
LATDbits.LATD5 = 1;
putsUART1("LED ON");
}
elseif(RX_data == 'q')
{
LATDbits.LATD5 = 0;
putsUART1("LED OFF");
}
}
}
Ahora, cada vez que escribo 1 en el terminal, el led se enciende, pero cuando escribo q, el led no se apaga. Funciona con dígitos pero no con letras. Como si lo hiciera
elseif(Rx_data == '2')
Entonces funcionará pero no con
elseif(RX_data == 'q')
No sé dónde me estoy perdiendo el punto. Por favor ayuda.