資料介紹
調(diào)研:一、經(jīng)過調(diào)研:1.1 客戶除了使用USART做串口通信,還開啟了定時(shí)器中斷來進(jìn)行數(shù)據(jù)采集.1.2 定時(shí)器的優(yōu)先級(jí)比串口接收的優(yōu)先級(jí)高.1.3 定時(shí)器處理數(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)這個(gè)問題的時(shí)候,程序不斷的進(jìn)入串口接收中斷,不能夠運(yùn)行到main主函數(shù)處理其他任務(wù)了.2.2 發(fā)現(xiàn)ORE標(biāo)志為‘1’,也就說明程序是發(fā)生了串口溢出錯(cuò)誤.2.3 客戶在進(jìn)入串口中斷后會(huì)調(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)過分析以及我們可以通過我們芯片的用戶手冊(cè)可以得到以下信息:3.1 程序不斷進(jìn)入串口中斷是因?yàn)镺RE標(biāo)志始終為1,沒有被用戶清除掉:從上圖紅色部分我們可以看到,如果串口接收中斷開啟了,那么ORE為1時(shí)就會(huì)產(chǎn)生中斷.3.2.從下圖我們可以看到,順序執(zhí)行對(duì)USART_SR和USART_DR的操作就會(huì)清除ORE的標(biāo)志,客戶在中斷中執(zhí)行了以下操作,那為什么ORE標(biāo)志還沒有被清除呢?(R1執(zhí)行了讀USART_SR操作,R2執(zhí)行了讀USART_DR操作).3.3 我們可以看手冊(cè)中下表的解釋:3.3.1 ORE表征的是一個(gè)歷史事件,當(dāng)ORE為1時(shí),表明至少有1個(gè)數(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)用中對(duì)ORE標(biāo)志進(jìn)行處理,即當(dāng)判斷發(fā)生ORE中斷的時(shí)候,我們?cè)僮x一次USART_DR的值,這樣如果沒有新的Overrun溢出事件發(fā)生的時(shí)候,ORE會(huì)被清除,然后程序就不會(huì)因?yàn)镺RE未被清除一直不斷的進(jìn)入串口中斷了,代碼處理如下:結(jié)論:對(duì)于這種情況,我們可以看到USART串口接收中斷使能了,那ORE中斷也就開啟了;為了消除在通過讀序列(USART_SR/USART_DR)的過程中產(chǎn)生的溢出錯(cuò)誤,我們可以嘗試在應(yīng)用程序中需要針對(duì)ORE標(biāo)志做一個(gè)處理來清除ORE標(biāo)志,使得串口通信可以正常的繼續(xù)工作.建議客戶在做串口通信時(shí)需要增加幀檢驗(yàn)功能,如CRC校驗(yàn)等...,當(dāng)發(fā)生ORE時(shí),幀校驗(yàn)肯定是通不過的,不會(huì)造成從機(jī)誤響應(yīng).(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 一種無源諧波抑制裝置設(shè)計(jì) 0次下載
- 嵌入式:初次了解STM32的USART串口通訊(中斷方式)
- 一種無參考彩色噪聲圖像質(zhì)量評(píng)價(jià)方法 1次下載
- USART中斷方式接收無響應(yīng)問題的情況及其處理方法 5次下載
- 一種對(duì)4/5G鄰區(qū)缺失問題核查方法資料下載
- 中斷驅(qū)動(dòng)多任務(wù)--- 單片機(jī)(MCU) 下的一種軟件設(shè)計(jì)結(jié)構(gòu)資料下載
- 51單片機(jī)外部中斷的兩種觸發(fā)方式資料下載
- 教你一種抑制EMI的簡(jiǎn)單方法資料下載
- 一種帶核方法的判別圖正則非負(fù)矩陣分解算法 30次下載
- 一起學(xué)習(xí)中斷處理程序資料下載
- STM32的中斷:搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)資料下載
- 使用6種中斷方法點(diǎn)亮一個(gè)LED的程序資料合集免費(fèi)下載
- 使用51單片機(jī)的中斷方式實(shí)現(xiàn)串口數(shù)據(jù)發(fā)送與接收的程序免費(fèi)下載
- 一種實(shí)時(shí)穩(wěn)像方法及其電路設(shè)計(jì) 7次下載
- 一種快速瞬態(tài)響應(yīng)的無片外電容LDO_孫建偉 5次下載
- 如何使用DMA進(jìn)行USART不定長度接收 1.5k次閱讀
- 詳解單片機(jī)串口高效收發(fā)數(shù)據(jù)的實(shí)現(xiàn)方法 2.8k次閱讀
- 一種高效的串口收發(fā)思路及方案 1.2k次閱讀
- 一種工業(yè)上常用改善動(dòng)態(tài)響應(yīng)的控制方法 2k次閱讀
- 人工智能是一種改進(jìn)數(shù)據(jù)控制和處理的方法 3.6k次閱讀
- STM32單片機(jī)的USART接收數(shù)據(jù)問題解決方案 7k次閱讀
- 8051單片機(jī)的中斷響應(yīng)過程解析 1.1w次閱讀
- 單片機(jī)實(shí)現(xiàn)利用中斷復(fù)位的兩種方式 1w次閱讀
- 【新專利介紹】一種無磁感應(yīng)水表及其使用方法 3.6k次閱讀
- 一文詳解USART模塊接收中斷的問題處理 8.6k次閱讀
- 一文詳解ARM單片機(jī)三種中斷返回情況 3.5k次閱讀
- 一種制備近紅外光響應(yīng)的動(dòng)態(tài)褶皺的方法 7.4k次閱讀
- 介紹學(xué)習(xí)一種模擬信號(hào)的處理方式:對(duì)數(shù)處理 1.2w次閱讀
- ARM單片機(jī)三種中斷返回情況的分析與解決 1.6k次閱讀
- 一種提高系統(tǒng)響應(yīng)速度的SoC系統(tǒng)架構(gòu) 1.6k次閱讀
下載排行
本周
- 1MDD品牌三極管MMBT3906數(shù)據(jù)手冊(cè)
- 2.33 MB | 次下載 | 免費(fèi)
- 2MDD品牌三極管S9012數(shù)據(jù)手冊(cè)
- 2.62 MB | 次下載 | 免費(fèi)
- 3聯(lián)想flex2-14D/15D說明書
- 4.92 MB | 次下載 | 免費(fèi)
- 4收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊(cè)
- 2.50 MB | 次下載 | 免費(fèi)
- 524Pin Type-C連接器設(shè)計(jì)報(bào)告
- 1.06 MB | 次下載 | 免費(fèi)
- 6新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 次下載 | 免費(fèi)
- 7MS1000TA 超聲波測(cè)量模擬前端芯片技術(shù)手冊(cè)
- 0.60 MB | 次下載 | 免費(fèi)
- 8MS1022高精度時(shí)間測(cè)量(TDC)電路數(shù)據(jù)手冊(cè)
- 1.81 MB | 次下載 | 免費(fèi)
本月
- 1愛華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論