HAL_UART_RxCpltCallback HAL库中回调函数两个串口同时进行中断接受数据,一开始串口四能一直接收到数据,为啥通过485发送命令与串口三通信后,整个回调函数就不执行了。 代码如下 /* USER CODE BEGIN 1 */ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { if(huart->Instance==UART4)//激光雷达数据 { if(huancun4[0]==0x59&&huancun4[1]==0x59) { TF03_data=huancun4[2]+huancun4[3]*256; TF03_data_ok=1;//激光雷达数据读取完毕 标志位置一 } else if(huancun4[0]!=0x59||huancun4[1]!=0x59) { TF03_data_ok=0;//数据错误 读取失败 } for(uint8_t q=0;q<9;q++) { huancun4[q]=0; } HAL_UART_Receive_IT(&huart4,huancun4,9);//打开中断接收9个字节 } else if(huart->Instance==USART3)//485数据 { if(huancun4[0]==0x55&&huancun4[1]==0x11&&huancun3[7]==0x59) { RS485TxData[0]=0x5B; RS485TxData[1]=0x11; RS485TxData[7]=0xBB; RS485_data_ok=1;//485数据读取完毕 标志位置一 } else if(huancun4[0]==0x55&&huancun4[1]==0x11&&huancun3[7]==0x59) { RS485_data_ok=0;//数据错误 读取失败 } for(uint8_t m=0;m<9;m++) { huancun3[m]=0; } HAL_UART_Receive_IT(&huart3,huancun3,8);//打开中断接收9个字节 } } |
3971b移植3916代码报错
STM32G070RBT6 我将PA14-BOOT0改为USART2RX,
Flasher ARM 的自主模式通过RS232去驱动编程
workbench不生成keil文件怎么调试?
STM32CubeIde生成的工程,使用printf函数没有调用_write函数
L9663驱动开发
Stm32G071 i2c slave配置问题
STM32F767IGx 使用串口模块正常运行串口不能接收,debug模式正常。
stm32G0B1RCT6在串口快速收发时导致中断服务函数无法进入
在FreeRTOS中串口重定向使用HAL库函数中断出现异常
串口3检查是是否使用huancun4,这里是用huancun3还是huancun4?