当前位置:   article > 正文

STM32 开发常见问题汇总_stm32 开发的时候遇到的问题

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);//必须要读,不然清除不了
		}
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/83651
推荐阅读
相关标签
  

闽ICP备14008679号