STM32 开发常见问题汇总

一,STM32_Usart 串口异常

四个错误检测标志:

  1. 溢出错误
  2. 噪声检测
  3. 帧错误
  4. 奇偶校验错误

十个具有标志位的中断源:

  1. CTS 变化
  2. LIN 停止符号检测
  3. 发送数据寄存器为空
  4. 发送完成
  5. 接收数据寄存器已满
  6. 接收到线路空闲
  7. 溢出错误
  8. 帧错误
  9. 噪声错误
  10. 奇偶校验错误

1. Usart中断事件

在这里插入图片描述

2. Usart状态寄存器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. Usart问题解决

3.1 什么是ORE中断?为什么会产生?

在这里插入图片描述

ORE标志位在USART_SR寄存器,但值得注意的是,当我们打开串口接收中断时,同时也就打开了ORE中断。

在这里插入图片描述
(2)如何解决?
在这里插入图片描述

ORE中断只能使用USART_GetFlagStatus(USART1, USART_FLAG_ORE) 读到
(没有使能USART_IT_ERR中断时)

if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)== SET)//程序中断过多,主机的发送速度又快,很容易会造成溢出错误
		{
			USART_ClearFlag(USART1, USART_FLAG_ORE); //清除溢出中断
			USART_ReceiveData(USART1);//必须要读,不然清除不了
		}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值