資料介紹
調研:一、經過調研:1.1 客戶除了使用USART做串口通信,還開啟了定時器中斷來進行數據采集.1.2 定時器的優先級比串口接收的優先級高.1.3 定時器處理數據操作也比較頻繁.1.4 客戶使用的STM32F1標準庫(版本V3.5.0).二、經過問題復現和使用ST-LINK在線調試和定位發現:2.1 在出現這個問題的時候,程序不斷的進入串口接收中斷,不能夠運行到main主函數處理其他任務了.2.2 發現ORE標志為‘1’,也就說明程序是發生了串口溢出錯誤.2.3 客戶在進入串口中斷后會調用USART_GetITStatus(USART2, USART_IT_RXNE)來獲取RXNE的值.如果RXNE為1則去讀取DR數據寄存器的數據,讀取后RXNE為0,但是ORE的標志依然為1,依然進入了串口中斷.三、經過分析以及我們可以通過我們芯片的用戶手冊可以得到以下信息:3.1 程序不斷進入串口中斷是因為ORE標志始終為1,沒有被用戶清除掉:從上圖紅色部分我們可以看到,如果串口接收中斷開啟了,那么ORE為1時就會產生中斷.3.2.從下圖我們可以看到,順序執行對USART_SR和USART_DR的操作就會清除ORE的標志,客戶在中斷中執行了以下操作,那為什么ORE標志還沒有被清除呢?(R1執行了讀USART_SR操作,R2執行了讀USART_DR操作).3.3 我們可以看手冊中下表的解釋:3.3.1 ORE表征的是一個歷史事件,當ORE為1時,表明至少有1個數據已經丟失.3.3.2這有2種可能發生的情況,RXNE為1的情況R3和RXNE為0的情況R4,如下圖中的解釋.3.3.3我們從上圖可以看出,3.2圖中的R1+R2操作只能處理RXNE為1的情況;當RXNE為0的特殊情況, 就是在讀序列器件(在USART_SR寄存器讀訪問和USART_DR讀訪問之間)接收到新的數據,數據SR雖然被讀過了,但是overrun事件依然發生了,以上操作是不能夠處理的:3.4 因此我們要在應用中對ORE標志進行處理,即當判斷發生ORE中斷的時候,我們再讀一次USART_DR的值,這樣如果沒有新的Overrun溢出事件發生的時候,ORE會被清除,然后程序就不會因為ORE未被清除一直不斷的進入串口中斷了,代碼處理如下:結論:對于這種情況,我們可以看到USART串口接收中斷使能了,那ORE中斷也就開啟了;為了消除在通過讀序列(USART_SR/USART_DR)的過程中產生的溢出錯誤,我們可以嘗試在應用程序中需要針對ORE標志做一個處理來清除ORE標志,使得串口通信可以正常的繼續工作.建議客戶在做串口通信時需要增加幀檢驗功能,如CRC校驗等...,當發生ORE時,幀校驗肯定是通不過的,不會造成從機誤響應.(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 一種無源諧波抑制裝置設計 0次下載
- 嵌入式:初次了解STM32的USART串口通訊(中斷方式)
- 一種無參考彩色噪聲圖像質量評價方法 1次下載
- USART中斷方式接收無響應問題的情況及其處理方法 5次下載
- 一種對4/5G鄰區缺失問題核查方法資料下載
- 中斷驅動多任務--- 單片機(MCU) 下的一種軟件設計結構資料下載
- 51單片機外部中斷的兩種觸發方式資料下載
- 教你一種抑制EMI的簡單方法資料下載
- 一種帶核方法的判別圖正則非負矩陣分解算法 30次下載
- 一起學習中斷處理程序資料下載
- STM32的中斷:搶占優先級和響應優先級資料下載
- 使用6種中斷方法點亮一個LED的程序資料合集免費下載
- 使用51單片機的中斷方式實現串口數據發送與接收的程序免費下載
- 一種實時穩像方法及其電路設計 7次下載
- 一種快速瞬態響應的無片外電容LDO_孫建偉 5次下載
- 詳解單片機串口高效收發數據的實現方法 1907次閱讀
- 一種高效的串口收發思路及方案 707次閱讀
- 一種工業上常用改善動態響應的控制方法 1125次閱讀
- 人工智能是一種改進數據控制和處理的方法 3166次閱讀
- 一種通過組合天線接收無線電信號的接收系統設計方法詳解 3560次閱讀
- STM32單片機的USART接收數據問題解決方案 6243次閱讀
- 8051單片機的中斷響應過程解析 9762次閱讀
- 單片機實現利用中斷復位的兩種方式 9702次閱讀
- 【新專利介紹】一種無磁感應水表及其使用方法 3292次閱讀
- 一文詳解USART模塊接收中斷的問題處理 7873次閱讀
- 一文詳解ARM單片機三種中斷返回情況 3024次閱讀
- 一種制備近紅外光響應的動態褶皺的方法 6585次閱讀
- 介紹學習一種模擬信號的處理方式:對數處理 1.1w次閱讀
- ARM單片機三種中斷返回情況的分析與解決 1347次閱讀
- 一種提高系統響應速度的SoC系統架構 1214次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論