串口重定向配置:
可以直接复制使用
/*************************************************
* 函数功能: 重定向c库函数printf到DEBUG_USARTx
* 输入参数: 无
* 返 回 值: 无
* 说 明:无
*/
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
return ch;
}
/**
* 函数功能: 重定向c库函数getchar,scanf到DEBUG_USARTx
* 输入参数: 无
* 返 回 值: 无
* 说 明:无
*/
int fgetc(FILE * f)
{
uint8_t ch = 0;
while(HAL_UART_Receive(&huart1,&ch, 1, 0xffff)!=HAL_OK);
return ch;
}
/*****************************************************/
串口空闲中断接收不定长数据
整体思路:
首先我在初始化的时候调用__HAL_UART_ENABLE_IT