文章目录
一、HAL库中断方式进行串口通信
通过CubeMX进行项目配置
1、配置RCC
2、配置SYS
3、配置USART1
4、配置NVIC
5、在keil形成项目代码
二、在Keil中main.c文件下进行代码配置和补充
1、打开由CubeMX所生成的项目。
2、在main函数前添加以下代码:
char c;
char message[]="hello Windows";
char Words[]="OperationFail";
char Words1[]="Start";
char Words2[]="Stop";
int flag=0;
3、在main函数中设置接收中断:
下面展示一些 内联代码片
。
函数原型
HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)
参数
UART_HandleTypeDef *huart UATR的别名
huart1 *pData 接收到的数据存放地址
Size 接收的字节数
具体代码如下:
//设置接受中断
HAL_UART_Receive_IT(&huart1,(uint8_t *)&c,1);
4、在main的while函数下添加如下代码:
if(flag==1)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&message, strlen(message),0xFFFF);
HAL_Delay(1000);
}
5、重写HAL库串口回调函数:
void HAL_UART_RxCpltCallback