Kann nicht alle Zeichen über UART übertragen
Ich verwende stm32f0 MCU.
Ich möchte jedes einzelne von uart empfangene Byte von uart aus senden. Ich aktiviere einen Interrupt für jedes von uart empfangene Byte.
Mein Code ist ganz einfach.
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
}
}
Mein PC überträgt ASCII12345678
zu stm32. Wenn die Dinge wie erwartet funktionieren, sollte der PC @ empfange12345678
zurück. Der PC erhält jedoch1357
stattdessen. Was ist los mit dem Code?