STM32 HAL 串口工程新建方法
具体操作方式可以观看视频
说明:因为很多人说网上贴图的方式对他们来说还不是很友好,中间还会出各种问题。所以我在我的博客里面以博客+视频的方式来教学!
地址:
https://www.bilibili.com/video/BV1W5411a7tN/
关键添加代码
在 usart.c 以下代码中间添加新的代码
/* USER CODE BEGIN 0 */
#include <stdio.h>
uint8_t uart1_rxdata = 0;/* 串口1接收数据 */
UART_DATA_STRUCT uart1_struct;/* 串口数据结构体 */
/**
* 函数功能: 启动用串口中断的方式来接收数据
* 输入参数: 无
* 返 回 值: 无
* 说 明:无
*/
void HAL_Start_Uart_Receive(void)
{
/* 使能接收,进入中断回调函数 */
HAL_UART_Receive_IT(&huart1, &uart1_rxdata, 1);
}
/* USER CODE END 0 */
...
/* USER CODE BEGIN 1 */
/**
* 函数功能: 串口接收完成回调函数
* 输入参数: 无
* 返 回 值: 无
* 说 明:无
*/
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *UartHandle)
{
if(uart1_struct.FramLength < (RX_BUF_MAX_LEN-1))//预留1个字节写结束符
uart1_struct.DataRXBuf[uart1_struct.FramLength] = uart1_rxdata;
if((uart1_struct.DataRXBuf[uart1_