使用GD32的串口0(STM32是串口1)发送字符串到PC机 接收PC端串口助手发送过来的数据
CUBEMX时钟配置,SYS,RCC,USART1
HAL_UART_Transmit(&huart1,txbuf,sizeof(txbuf),sizeof(txbuf)); //轮询方式发送函数
HAL_Delay(1000);
中断接收
先定义全局变量:uint8_t rxbuf[7]={1};
HAL_UART_Receive_IT(&huart1,rxbuf,7); //串口中断服务函数
/* USER CODE BEGIN 4 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
HAL_UART_Transmit(&huart1,rxbuf,7,7);
HAL_UART_Receive_IT(&huart1,rxbuf,7);
}
接收到数据后,我们用轮询函数发回去,然后我们希望下一次上位机发送数据过来的时候下位机还能接收,使用要重新使能接收中断。
/* USER CODE END 4 */