历史上的今天
今天是:2024年10月16日(星期三)
2018年10月16日 | STM32串口出现 ORE标志位的问题研究
2018-10-16 来源:eefocus
测试环境,STM32L476, HAL库使用UART的时候,中断标志寄存器出现ORE错误,介绍如下:

代码错误原因:
1. 初始化串口,uart_USB_init();这个函数没有启动中断
2. 延时3000S,其中这个时候电脑有数据每隔50ms发给这个串口。
3. 启动中断接收。 HAL_NVIC_SetPriority(USART_IRQn, 5, 1);
HAL_NVIC_EnableIRQ(USART_IRQn);
4. 出现ORE错误。
经过分析,可能2个原因,初始化串口之后,串口接收到数据(没处理),然后开中断又接收数据,所以两次接收中断和非中断处理有区别,也有可能是第一次非中断接收数据未处理。
解决办法:修改上面顺序
1. 延时3000S,其中这个时候电脑有数据每隔50ms发给这个串口。
2. 初始化串口,uart_USB_init();这个函数没有启动中断
3. 启动中断接收。 HAL_NVIC_SetPriority(USART_IRQn, 5, 1);
HAL_NVIC_EnableIRQ(USART_IRQn);
具体就是串口初始化和中断使能要紧密放在一起。
上一篇:STM32的DMA用串口的接收
下一篇:关于STM32开发复位哪些事
史海拾趣
|
:AD9954是美国AD公司采用先进的DDS技术生产的高集成度频率合成器,它能产生200MHz的模拟正弦波。文章介绍了AD9954的基本特点和引脚功能,分析了其内部结构和工作原理,给出了AD9954在高速调制信号系统中的应用方案。… 查看全部问答> |
|
BridgeWave Communications是能够提供完整的点到点毫米波链路解决方案的公司之一,公司在全球部署有数千台60和80GHz的无线千兆比特设备。该公司的毫米波无线设备支持局域网(LAN)干线扩展、移动电话回传应用以及大容量互联网接入。他们提供的无线系 ...… 查看全部问答> |
|
我编写了一个基于Windows ce的应用程序,其中要求能支持打印。要想实现,需要做哪些工作?请指教。 开发板使用的是ICOP的VDX6354,是支持打印的。 但是我将打印机插上(通过usb,并且是hp打印机)以后,系统没有自动显示新添加的打印机。 这是什 ...… 查看全部问答> |
|
我们在为客户开发一款机器,使用pxa270的cpu,客户要求可以在线播放youtube视频。 使用IE上Youtube的网站,总是自动转到youtube的mobile版,视频是3gp格式的,点击播放自动弹出mediaplay,但是提示连接不上服务器。如果上youtube的桌面版,则提示f ...… 查看全部问答> |
|
各位,我现在想实现这样的功能: 1、从数据库中获取电话号码后(如:12345),通过拨号按钮直接拨到此电话上(12345)。 2、拨通后,接受的电话(12345)可以听到一段录音,然后按提示选择对应的功能健。比如按1同意,按2不同意,按3转人工。 3 ...… 查看全部问答> |
|
从论坛中下载下来的,只因原档为未打包的,下载麻烦又费金钱,所以现在打包了! [ 本帖最后由 yulri 于 2012-10-2 10:55 编辑 ]… 查看全部问答> |
|
我是用的单片机是PIC18F46K80,编译环境是MPLAB C18 V3.41,MPLAB IDE V8.92。 我是用串口助手给单片机发信息,每次发送7个字节,每隔20ms或者100ms或者200ms,串口接收使用数组存储。 我的主循环里我使用switch(与串口接收的数据无关),异常出 ...… 查看全部问答> |




