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

電子工程網

標題: USART 中斷方式接收無響應問題的一種情況 及其處理方法 [打印本頁]

作者: 小融一號    時間: 2016-9-28 10:27
標題: USART 中斷方式接收無響應問題的一種情況 及其處理方法


問題:
此問題由客戶工程師提出,客戶在使用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購買服務平臺,項目外包平臺)






歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 亚洲香蕉影院 | 91色网站 | 91在线精品中文字幕 | 日本一区中文字幕 | 国产免费一区二区在线看 | 亚洲精品15p | 免费在线观看的毛片 | 国产欧美日韩中文字幕 | 久久免费观看国产99精品 | 欧美午夜视频一区二区三区 | aaa国产| 日韩在线免费视频 | 日本精品视频在线观看 | 在线视频久草 | 男人的天堂免费在线观看 | 欧美网站免费 | 亚洲欧洲在线视频 | 国产在线一区二区三区在线 | 丁香综合缴情六月婷婷 | 日韩伦理在线看不卡 | 国产又色又爽又黄的网站在线一级 | 999成人网 | 亚洲国产成+人+综合 | 欧美高清一区二区三 | 成人午夜精品网站在线观看 | 成人午夜精品久久不卡 | 一级做a级爰片性色毛片视频 | 久久99热不卡精品免费观看 | 久久r热这里有精品视频 | 激情成人黄色 | 亚洲精品男人天堂 | 久久网站视频 | 在线不卡| 欧美影院在线观看在线观看看 | 亚洲天堂欧美 | 黑人在线 | 久久伊人男人的天堂网站 | 四虎影视在线麻豆国产 | 在线欧洲成人免费视频 | 一区二区精品视频 | 91网站入口 |