国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2986|回復: 0
打印 上一主題 下一主題

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

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2016-9-28 10:27:51 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: 中斷方式 , 融創芯城


問題:
此問題由客戶工程師提出,客戶在使用STM32F103的USART做串口通訊時,發現了一個問題,當設備正常通信一段時間后,串口不響應外部的通信請求了.
文中配圖引用自STM32F103的中文版本用戶手冊,下載鏈接為:

調研:
一、經過調研:
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時,幀校驗肯定是通不過的,不會造成從機誤響應.


重要通知 - 請仔細閱讀
意法半導體公司及其子公司(“ST”)保留隨時對ST 產品和/ 或本文檔進行變更、更正、增強、修改和改進的權利,恕不另行通知。買方訂貨之前應獲取關于ST 產品的最新信息。ST 產品的銷售依照訂單確認時的相關ST 銷售條款。
買方自行負責對ST 產品的選擇和使用, ST 概不承擔與應用協助或買方產品設計相關的任何責任。
ST 不對任何知識產權進行任何明示或默示的授權或許可。
轉售的ST 產品如有不同于此處提供的信息的規定,將導致ST 針對該產品授予的任何保證失效。
ST 和ST 徽標是ST 的商標。所有其他產品或服務名稱均為其各自所有者的財產。
本文檔中的信息取代本文檔所有早期版本中提供的信息。



文章來源:微信公眾號 融創芯城(一站式電子元器件、PCB、PCBA購買服務平臺,項目外包平臺)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品入口免费视频 | 成年男女免费视频网站 | 四虎在线视频免费观看视频 | 在线青草| 欧美大片免费在线观看 | 亚洲国产高清在线观看视频 | 日本特黄的免费大片视频 | 五月婷婷丁香在线观看 | 69热视频在线观看免费自拍 | 99视频在线精品免费 | 日本精品高清一区二区不卡 | 中文字幕在线视频一区 | 69视频在线是免费观看 | 999yy成年在线视频免费看 | 最新国产三级在线不卡视频 | 亚洲国产精久久久久久久 | 久久成人国产 | 日韩高清在线日韩大片观看网址 | 欧美日韩国产色综合一二三四 | 国产老色批视频在线观看应用 | 99精品国产成人一区二区 | 精品国产免费福利片 | 天堂在线最新版资源www | 狠狠综合视频精品播放 | 国产精品久久久久久永久牛牛 | 日韩亚洲国产欧美精品 | 一本大道香蕉大vr在线吗视频 | 最新国产精品 | 久久久亚洲精品蜜桃臀 | 国产精品午夜在线播放a | 久久99精品久久久久久首页 | 午夜精品在线免费观看 | 一区二区视频免费观看 | 久青草网站 | 日本免费三级网站 | 日本系列 1页 亚洲系列 | 一区二区三区欧美日韩国产 | 日本中文字幕一区二区高清在线 | 欧美在线视频免费播放 | 日韩岛国大片 | 91精品成人免费国产 |