Não é possível transmitir todos os caracteres através do UART
Estou usando o stm32f0 MCU.
Eu gostaria de transmitir todos os bytes recebidos do uart para fora do uart. Estou habilitando uma interrupção em cada byte recebido do uart.
Meu código é bastante simples.
uint8_t Rx_data[5];
//Interrupt callback routine
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if (huart->Instance == USART1) //current UART
{
HAL_UART_Transmit(&huart1, &Rx_data[0], 1, 100);
HAL_UART_Receive_IT(&huart1, Rx_data, 1); //activate UART receive interrupt every time on receiving 1 byte
}
}
Meu PC transmite ASCII12345678
para stm32. Se tudo funcionar como esperado, o PC deve estar recebendo12345678
de volta. No entanto, o PC recebe1357
em vez de. O que há de errado com o código?