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