单片机程序如下:
/* USER CODE BEGIN PV */
uint8_t recBuf[10]; //接收到的一帧数据
uint8_t command1=0xA5;
uint8_t command2=0x52;
/* USER CODE END PV */
/* USER CODE BEGIN 2 */
HAL_UART_Transmit_IT(&huart1,&command1,1); //发送0xA5
HAL_UART_Transmit_IT(&huart1,&command2,1); //发送0x52
HAL_UART_Receive_IT(&huart1,recBuf,10); //开启串口1的接收中断
/* USER CODE END 2 */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
//main函数里什么都没写
}
/* USER CODE END 3 */
/* USER CODE BEGIN 4 */
void HAL_UART_RxCapltCallback(UART_HandleTypeDef *huart) //串口接收中断回调函数
{
if(huart ->Instance == USART1)
{
HAL_UART_Transmit_IT(&huart2,recBuf,10); //通过串口2将接收到的数据发送到电脑的串口助手
HAL_UART_Receive_IT(&huart1,recBuf,10); //开启串口1的接收中断
}
}
/* USER CODE END 4 */ 作者: Hephaestus 时间: 2022-6-27 17:56
回调函数执行的时候还没有退出中断,HAL_UART_Transmit_IT()能用吗?