蓝桥杯物联网设计与研发(基础实验)
EX13.UART串口接收实验
基于省赛资源套装-STM32L071微控制器
一、STM32CubeMX配置
外设配置
![](https://img-blog.csdnimg.cn/img_convert/1b973f347d7d3b0ec0a851d8c7477534.png)
![](https://img-blog.csdnimg.cn/img_convert/a924b8613e433293e62a8fc8e878f931.png)
时钟配置
![](https://img-blog.csdnimg.cn/img_convert/202ace5682dee946384426fe27d9f8b1.png)
二、Keil程序编写
1、在USER CODE BEGIN PV和USER CODE END PV之间添加以下代码
uint8_t Data_Rx[20]={0};
2、在USER CODE BEGIN 3和USER CODE END 3之间添加以下代码
HAL_UART_Receive(&huart2,Data_Rx,1,0xffffffff);
if((Data_Rx[0]%2)==1){
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);
}
else{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);
}
三、HAL库函数解析
函数名称:HAL_UART_Receive (UART_HandleTypeDef * huart, uint8_t * pData, uint16_t Size, uint32_t Timeout)
函数作用:在阻塞模式下接收一定量的数据。
参数 | 功能 |
huart | UART柄口 |
pData | 指向数据缓冲区的指针 |
Size | 要接收的数据量 |
Timeout | 超时持续时间 |