STM32 HAL库快速实战总集《完整项目重构》--基于黑龙江科技大学机电工业机器人实训

系列目录

点击查看

前言

在前面章节,我们完成了所有子项目的构建与测试。但是随着子项目的增加,代码趋向混乱,不利于阅读与修改。这里将对整个项目进行重构,提供一个最终使用版本。

项目重构

控制功能重构

在之前的项目中,获取命令使用的是while一直等待,带来的后果就是在超声波循迹等需要while循环的地方,无法直接结束(在这里加入获取命令会一直等待,十分麻烦)。
这里使用串口接收中断代码进行重写控制函数。
首先打开usart.c,定义一个命令缓冲符,用于存放接收到的命令

/* USER CODE BEGIN 0 */
uint8_t blue_cmd=NULL;
/* USER CODE END 0 */

然后加入中断回调函数

/* USER CODE BEGIN 1 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{	
  if(huart->Instance==USART3)//如果触发USART3中断
  { 
    HAL_UART_Receive_IT(&huart3,&blue_cmd,1);//打开中断,等待下一次中断的到来
  }
}
/* USER CODE END 1 */
上一篇:STM32 HAL库快速实战【六】《蓝牙控制》--基于黑龙江科技大学机电工业机器人实训


下一篇:STM32新建工程