電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>可編程邏輯>USART中斷方式接收無響應問題的一種情況及其處理方法資料下載

USART中斷方式接收無響應問題的一種情況及其處理方法資料下載

2021-04-14 | pdf | 289.19KB | 次下載 | 5積分

資料介紹

調(diào)研:一、經(jīng)過調(diào)研:1.1 客戶除了使用USART做串口通信,還開啟了定時器中斷來進行數(shù)據(jù)采集.1.2 定時器的優(yōu)先級比串口接收的優(yōu)先級高.1.3 定時器處理數(shù)據(jù)操作也比較頻繁.1.4 客戶使用的STM32F1標準庫(版本V3.5.0).二、經(jīng)過問題復現(xiàn)和使用ST-LINK在線調(diào)試和定位發(fā)現(xiàn):2.1 在出現(xiàn)這個問題的時候,程序不斷的進入串口接收中斷,不能夠運行到main主函數(shù)處理其他任務了.2.2 發(fā)現(xiàn)ORE標志為‘1’,也就說明程序是發(fā)生了串口溢出錯誤.2.3 客戶在進入串口中斷后會調(diào)用USART_GetITStatus(USART2, USART_IT_RXNE)來獲取RXNE的值.如果RXNE為1則去讀取DR數(shù)據(jù)寄存器的數(shù)據(jù),讀取后RXNE為0,但是ORE的標志依然為1,依然進入了串口中斷.三、經(jīng)過分析以及我們可以通過我們芯片的用戶手冊可以得到以下信息:3.1 程序不斷進入串口中斷是因為ORE標志始終為1,沒有被用戶清除掉:從上圖紅色部分我們可以看到,如果串口接收中斷開啟了,那么ORE為1時就會產(chǎn)生中斷.3.2.從下圖我們可以看到,順序執(zhí)行對USART_SR和USART_DR的操作就會清除ORE的標志,客戶在中斷中執(zhí)行了以下操作,那為什么ORE標志還沒有被清除呢?(R1執(zhí)行了讀USART_SR操作,R2執(zhí)行了讀USART_DR操作).3.3 我們可以看手冊中下表的解釋:3.3.1 ORE表征的是一個歷史事件,當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的情況;當RXNE為0的特殊情況, 就是在讀序列器件(在USART_SR寄存器讀訪問和USART_DR讀訪問之間)接收到新的數(shù)據(jù),數(shù)據(jù)SR雖然被讀過了,但是overrun事件依然發(fā)生了,以上操作是不能夠處理的:3.4 因此我們要在應用中對ORE標志進行處理,即當判斷發(fā)生ORE中斷的時候,我們再讀一次USART_DR的值,這樣如果沒有新的Overrun溢出事件發(fā)生的時候,ORE會被清除,然后程序就不會因為ORE未被清除一直不斷的進入串口中斷了,代碼處理如下:結論:對于這種情況,我們可以看到USART串口接收中斷使能了,那ORE中斷也就開啟了;為了消除在通過讀序列(USART_SR/USART_DR)的過程中產(chǎn)生的溢出錯誤,我們可以嘗試在應用程序中需要針對ORE標志做一個處理來清除ORE標志,使得串口通信可以正常的繼續(xù)工作.建議客戶在做串口通信時需要增加幀檢驗功能,如CRC校驗等...,當發(fā)生ORE時,幀校驗肯定是通不過的,不會造成從機誤響應.(mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1HFSS電磁仿真設計應用詳解PDF電子教程免費下載
  2. 24.30 MB   |  128次下載  |  1 積分
  3. 2雷達的基本分類方法
  4. 1.25 MB   |  4次下載  |  4 積分
  5. 3電感技術講解
  6. 827.73 KB  |  2次下載  |  免費
  7. 4從 MSP430? MCU 到 MSPM0 MCU 的遷移指南
  8. 1.17MB   |  2次下載  |  免費
  9. 5有源低通濾波器設計應用說明
  10. 1.12MB   |  2次下載  |  免費
  11. 6RA-Eco-RA2E1-48PIN-V1.0開發(fā)板資料
  12. 35.59 MB  |  2次下載  |  免費
  13. 7面向熱插拔應用的 I2C 解決方案
  14. 685.57KB   |  1次下載  |  免費
  15. 8愛普生有源晶體振蕩器SG3225EEN應用于儲能NPC、新能源
  16. 317.46 KB  |  1次下載  |  免費

本月

  1. 12024年工控與通信行業(yè)上游發(fā)展趨勢和熱點解讀
  2. 2.61 MB   |  763次下載  |  免費
  3. 2HFSS電磁仿真設計應用詳解PDF電子教程免費下載
  4. 24.30 MB   |  128次下載  |  1 積分
  5. 3繼電保護原理
  6. 2.80 MB   |  36次下載  |  免費
  7. 4正激、反激、推挽、全橋、半橋區(qū)別和特點
  8. 0.91 MB   |  32次下載  |  1 積分
  9. 5labview實現(xiàn)DBC在界面加載配置
  10. 0.57 MB   |  21次下載  |  5 積分
  11. 6在設計中使用MOSFET瞬態(tài)熱阻抗曲線
  12. 1.57MB   |  15次下載  |  免費
  13. 7GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
  14. 7.43 MB   |  14次下載  |  免費
  15. 8H橋中的電流感測
  16. 545.39KB   |  7次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935113次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191360次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81578次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73804次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分