Estoy tratando de recibir múltiples bytes de datos desde el hiperminal al PIC18F46K80.
Este es mi código fuente
uint8_t uart_recv_uchar() {
while(!(PIR1bits.RC1IF))
{
//wait till the data is received
;
}
return RCREG;
}
uint8_t uart_get_value() {
uint8_t byte[5];
byte[0] = uart_recv_uchar();
byte[1] = uart_recv_uchar();
byte[2] = uart_recv_uchar();
byte[3] = uart_recv_uchar();
byte[4] = 'uint8_t uart_recv_uchar() {
while(!(PIR1bits.RC1IF))
{
//wait till the data is received
;
}
return RCREG;
}
uint8_t uart_get_value() {
uint8_t byte[5];
byte[0] = uart_recv_uchar();
byte[1] = uart_recv_uchar();
byte[2] = uart_recv_uchar();
byte[3] = uart_recv_uchar();
byte[4] = '%pre%';
return (uint8_t) strtol(byte, NULL, 16);
}
';
return (uint8_t) strtol(byte, NULL, 16);
}
Cuando escribo los datos que intento enviar más de un byte de datos al escribir 0x1234 en el terminal, el microcontrolador lee solo el primer byte de datos 0x12 y luego espera el siguiente byte en el byte de instrucción [2] = uart_recv_uchar ().
¿Qué debo hacer para leer varios bytes de datos después de escribirlos a la vez desde el terminal?