在使用一個串口發數據的傳感器過程中,發現程序第一次進入串口中斷之后不再執行主函數的內容,中斷中的內容也不執行。查詢大量資料后發現:串口在接收數據過多時,會出現串口溢出錯誤,并進入溢出中斷(ORE中斷)。接下來是錯誤產生原因以及解決方法。
(1)什么是ORE中斷?為什么會產生?
產生原因如上所述。
ORE標志位在USART_SR寄存器,但值得注意的是,當我們打開串口接收中斷時,同時也就打開了ORE中斷。
(2)如何解決?
看了上面的資料之后,我知道程序是死在了串口溢出中斷。處理中斷時,我首先想到的是清除這個中斷標志位,但是遇到了很多麻煩。
清除ORE位的方法:順序執行對USART_SR和USART_DR寄存器的讀操作。
注意:在此使用USART_ClearITPendingBit(USART1, USART_IT_ORE);清除ORE位是沒有任何作用的。
還有ORE中斷只能使用USART_GetFlagStatus(USART1, USART_FLAG_ORE) 讀到(沒有使能USART_IT_ERR中斷時)
這些都是在這個帖子里讀到的http://blog.csdn.net/love_maomao/article/details/8234039帖子還指出了手冊的翻譯錯誤,哈哈,很厲害的博主(在此表白)。
最后附上解決方案:
中斷服務函數:
if(USART_GetFlagStatus(USART2, USART_FLAG_ORE) != RESET)
{
USART_ClearFlag(USART2, USART_FLAG_ORE); //清除溢出中斷
}
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
{
USART_ClearITPendingBit(USART2, USART_IT_RXNE);
//rebuf[num++] = USART_ReceiveData(USART2); 讀取串口數據
}
上一篇:STM32 UART常用的3種中斷接收
下一篇:stm32不斷的進入中斷形成死循環
推薦閱讀
史海拾趣
隨著全球化的深入發展,Chiefdom Electronic Co Ltd意識到國際化布局對于提升競爭力的重要性。公司開始積極拓展海外市場,設立海外研發中心和銷售網絡,以便更好地了解當地市場需求和文化特點。通過本地化運營和定制化服務,公司成功打入多個國際市場,并獲得了良好的業績回報。這些國際化布局不僅提升了公司的整體競爭力,還為其在全球電子行業中占據了更加重要的地位。
“創新動力”是Discrete Semiconductor Industries公司中一家以創新驅動發展的典范。該公司注重研發投入,積極引進和培養科技人才,建立了完善的研發體系。通過不斷的技術創新和產品升級,創新動力不斷推出具有市場競爭力的新產品。同時,公司還積極探索新的應用領域和市場機會,不斷拓展業務范圍。這種創新驅動的發展戰略使得創新動力在激烈的市場競爭中保持了強勁的發展勢頭。
為了加強研發實力和應用能力,達晶微在上海設立了研發中心和應用中心。這些中心匯聚了來自全球的優秀人才和先進技術,為公司提供了強大的技術支持和創新動力。通過不斷研發新產品和拓展新領域,達晶微在電子行業中保持了領先地位。
為了加強研發實力和應用能力,達晶微在上海設立了研發中心和應用中心。這些中心匯聚了來自全球的優秀人才和先進技術,為公司提供了強大的技術支持和創新動力。通過不斷研發新產品和拓展新領域,達晶微在電子行業中保持了領先地位。
達晶微注重企業文化建設和團隊建設。公司倡導創新、協作、務實、進取的企業精神,鼓勵員工勇于挑戰、追求卓越。同時,公司還建立了完善的培訓體系和人才激勵機制,為員工提供了廣闊的發展空間和良好的職業前景。這些措施有效地激發了員工的工作熱情和創造力,為公司的發展注入了源源不斷的動力。
請注意,以上故事是基于一般性的信息和電子行業發展的普遍規律進行編寫的,并非直接針對達晶微(CREATEK)公司的具體發展歷程。如需了解更多詳細信息,建議您查閱達晶微(CREATEK)公司的官方網站或相關新聞報道。
Fastron公司起源于XXXX年的德國,憑借其卓越的技術和產品質量,逐漸在電感器領域嶄露頭角。隨著業務的發展,Fastron不僅保留了德國的精湛工藝和嚴格品質控制,還成功地將業務拓展到了東歐和東南亞。這些地區的生產設施均通過TS 16949和ISO 14001認證,確保了產品的全球統一品質。
轉帖給各位(南方報業網),向編寫工作總結的筒子們道聲辛苦了。 年年歲歲月月,考考評評選選。 又到了年終,又到了寫年終工作總結的日子。 黎明來臨前總是黑暗 ...… 查看全部問答∨ |
我現在有這么個需求:在wince下,寫一個程序,去檢測U盤是否插上了。 我發現這種檢測U盤是否已經插上了比較困難,因為這不是個實時檢測。 當點擊我的程序之后,如果用戶沒有插U盤,就提醒用戶插U盤。所以,會去檢測U盤是否插上了。 考慮這種檢 ...… 查看全部問答∨ |
仿真時,我筆記本上的USB口最小為com11,而Keil中的com為1-8,com11能驅動,將com11改為com3(不知以前做什么用的),就是驅動不了,為什么?要怎么做呢?… 查看全部問答∨ |
|
大家好!我是一個剛到的新手,是學電子信息的,我喜歡的方向是計算機軟件,準備的考研方向也是計算機軟件,可是現在大三了,專業課的作業是叫我們實做!基于GSM 報警器設計(無人機房溫度測控),現在老師的要求是要求我們設計一塊試驗用的STM ...… 查看全部問答∨ |
|
哪位大俠有ALTERA這個FPGA的 datasheet以及引腳圖、原理圖庫 ---EP2C8Q208C8N,cycloneII 系列的,關于他的資料多多益善啊,可以通過我qq給我,感激不盡啊,QQ是1543311909 [ 本帖最后由 君來悵寥廓 于 2011-8-20 14:15 編輯 ]… 查看全部問答∨ |
各位大大,現在我有2個一樣的主板,網卡芯片是82574L,現在要實現百兆連接,我只接了四根線, 然后2個主板互相PING確不通,可是每個對別的PC進行PING就沒問題,想問問個位,怎么解決, 是驅動問題嗎?還是哪里需要做改動。 &nbs ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- Excelitas Technologies推出PYD 1378、1388和1398熱釋電模擬探測器
- Swissbit EM-30:工業級3D-NAND e.MMC-5.1 BGA
- 高通推出強大的領先物聯網解決方案組合
- 是德科技擴大蜂窩車聯網(C-V2X)測試解決方案的應用范圍,覆蓋整個汽車工作流程
- 降本“神器”高鎳電池引發“搶鎳”大戰
- 你認為蘋果會在10年內用AR設備取代iPhone?
- 佳能EOS R3相機及多款鏡頭或將延期發貨
- 因為不符合應用追蹤透明度規定,App Store已下架42萬款應用
- 人像視頻大師Reno7 Pro開售了,24期免息來襲
- 微軟Office安卓內測版更新,帶來了全新PDF瀏覽/編輯界面