[STM32F1] 进入over-run

[复制链接]
1885|9
 楼主| wenfen 发表于 2016-5-29 16:14 | 显示全部楼层 |阅读模式
使用新版库时串口中断为什么会进入over-run
zhuhuis 发表于 2016-5-29 16:17 | 显示全部楼层
详细说说
 楼主| wenfen 发表于 2016-5-29 16:18 | 显示全部楼层
使用新版库 实现modbus通讯 在使用115200波特率时没有问题  但是使用9600波特率后会进入串口中断处理函数中的如下部分 为什么 应该如何解决
  /* UART Over-Run interrupt occurred ----------------------------------------*/
  if((tmp_flag != RESET) && (tmp_it_source != RESET))
  {
    __HAL_UART_CLEAR_OREFLAG(huart);
    huart->ErrorCode |= HAL_UART_ERROR_ORE;
  
      huart->State = HAL_UART_STATE_READY;
  }
tian111 发表于 2016-5-29 16:19 | 显示全部楼层

串口溢出了吧,中断程序加些其它判断;
宋倩2010 发表于 2016-5-29 16:20 | 显示全部楼层
比如溢出判断,溢出的时候清下寄存器;
 楼主| wenfen 发表于 2016-5-29 16:21 | 显示全部楼层
串口溢出还是定时器溢出? 串口中有溢出寄存器吗
稳稳の幸福 发表于 2016-5-29 18:07 | 显示全部楼层
是不是上下位机波特率不匹配?
Stannis 发表于 2016-5-29 21:07 | 显示全部楼层
中断溢出寄存器需不需要清除呢
xmshao 发表于 2016-5-30 17:40 | 显示全部楼层
uart数据接收溢出了。

你注意上下机波特率一致。
Brand2 发表于 2016-5-30 20:22 | 显示全部楼层
可能是波特率不一致呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部