已解决
stm32HAL库串口错误回调函数的使用
来自网友在路上 178878提问 提问时间:2023-11-09 21:07:55阅读次数: 78
最佳答案 问答题库788位专家为你答疑解惑
使用stm32HAL库串口IDLE中断时,有时串口速度快会导致串口出错后续就收不到数据了
可以通过实现串口中断回调函数来解决
void usart_DMA_rx_EN(UART_HandleTypeDef *huart,uint8_t *pData,uint16_t Size)
{
HAL_UARTEx_ReceiveToIdle_IT(huart,pData,Size);
//HAL_UARTEx_ReceiveToIdle_DMA(huart,pData,Size);
}
/* 中断错误处理函数,在此处理overrun错误 */
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
if(huart == &huart2)
{
//执行HAL_UART_ErrorCallback时,还处于lock,需先unlock,
//因为HAL_UART_Receive_IT执行时需判断如果是lock则直接返回BUSY
__HAL_UNLOCK(huart);
usart_DMA_rx_EN(huart,rx_data,200);
}else if(huart == &huart1)
{
__HAL_UNLOCK(huart);
usart_DMA_rx_EN(huart,weight_data,100);
}
}
查看全文
99%的人还看了
相似问题
- PC 与 嵌入式板 传输文件的方式汇总 / SSH、NFS、TFTP,USB,串口
- stm32HAL库串口错误回调函数的使用
- MFC串口通信(SerialPort)
- macos端串口调试推荐 serial直装激活 for mac
- Luatos Air700 改变BL0942串口波特率
- 【全志H616 使用标准库 完成自制串口库(分文件实现) orangepi zero2(开源)】.md updata: 23/11/07
- 【软件STM32cubeIDE下H73xx配置串口uart1+中断接收/DMA收发+HAL库+简单数据解析-基础样例】
- 【PC电脑windows-学习样例tusb_serial_device-ESP32的USB模拟串口程序+VScode建立工程+usb组件添加+-基础样例学习】
- QT串口接收数据并进行波形显示(含源码)
- Golang 串口通信
猜你感兴趣
版权申明
本文"stm32HAL库串口错误回调函数的使用":http://eshow365.cn/6-36538-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!