main.c中
uint8_t is_flag = 0;
uint8_t data[100];
uint16_t size = 0;
HAL_UARTEx_ReceiveToIdle_IT(&huart1, data, 100);
if (is_flag)
{
HAL_UART_Transmit(&huart1, data, size, HAL_MAX_DELAY);
is_flag = 0;
}
it中断层
extern uint8_t is_flag;
extern uint16_t size;
// 定长数据的收发
// void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
// {
// is_flag = 1;
// }
// 不定长数据的收发
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{
is_flag = 1;
size = Size;
}