日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]前段時(shí)間做了一個(gè)項(xiàng)目,有部分功能是接收串口命令,根據(jù)命令保存一些系統(tǒng)數(shù)據(jù)(用STM8S內(nèi)自帶的EEPROM)。項(xiàng)目完成之初用串口調(diào)試工具發(fā)單條命令可以正常接收保存,但用一個(gè)上位機(jī)軟件連續(xù)發(fā)命令(約20ms)時(shí)單片機(jī)死

前段時(shí)間做了一個(gè)項(xiàng)目,有部分功能是接收串口命令,根據(jù)命令保存一些系統(tǒng)數(shù)據(jù)(用STM8S內(nèi)自帶的EEPROM)。項(xiàng)目完成之初用串口調(diào)試工具發(fā)單條命令可以正常接收保存,但用一個(gè)上位機(jī)軟件連續(xù)發(fā)命令(約20ms)時(shí)單片機(jī)死機(jī)了。IDE用的是IAR,雖說可以直接在線調(diào)試,但這個(gè)IDE不能在運(yùn)行時(shí)設(shè)置斷點(diǎn),所以找了好久一直沒有查到程序停在了哪里,直接代碼單步執(zhí)行跑得有點(diǎn)奇怪,但進(jìn)出中斷也正常。后來改用匯編界面單步,發(fā)現(xiàn)程序都是在進(jìn)棧出棧這些指令才懷疑是不是有一直進(jìn)出中斷,而進(jìn)出中斷肯定是中斷標(biāo)志置位了。找出STM8S規(guī)定書仔細(xì)一查才發(fā)現(xiàn)STM8S的UART還有個(gè)“過載錯(cuò)誤”,要命的是此“過載錯(cuò)誤”是產(chǎn)生中斷的,以前用的51沒發(fā)現(xiàn)有過載錯(cuò)誤這一說,AVR有,但不產(chǎn)生中斷。呵呵,知道原因了問題當(dāng)然好解決。下面我最新的一個(gè)處理UART中斷的方法,給新手參考參考,我想用到其它MCU也是一樣的道理;如果是老手路手請多指點(diǎn)以完善UART的接收。

#pragma vector = UART1_R_RXNE_vector // 20
__interrupt void ISR_UART1_RECEIVE(void)
{
BYTE tempDa;

if (UART1_SR_OR_LHE)
{
// 發(fā)生過載錯(cuò)誤,順序讀UART1_SR, UART1_DR來清UART1_SR_OR_LHE位
tempDa = UART1_SR;
tempDa = UART1_DR;

  // 做一些錯(cuò)誤處理

}
else
{
tempDa = UART1_DR;// 之所以用臨時(shí)變量是因?yàn)閁ART1_DR隨時(shí)會(huì)變

switch (RecvStatus)
{
case XXXX:

      break;

}
}
}


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

單片機(jī)將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認(rèn)識和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

串口全稱是串行接口(Serial Interface),串口通訊指僅用一對傳輸線就能將數(shù)據(jù)以比特位進(jìn)行傳輸?shù)囊环N通訊方式。盡管串口通訊必按字節(jié)傳輸?shù)牟⑿型ㄐ怕?,但是串口可以在僅用兩根線的情況下完成數(shù)據(jù)傳輸,大大降低了成本...

關(guān)鍵字: 串口 UART

隨著電腦技術(shù)的發(fā)展,一些老的設(shè)備在新電腦上不能被使用,主要原因是不管是臺式電腦,還是筆記本電腦,都很少有串口接口,也就是我們常說的COM口。好在這些設(shè)備都有USB接口,不妨通過接口轉(zhuǎn)換的方式,使我們的設(shè)備在新電腦上重新被...

關(guān)鍵字: 串口 USB

串口:串口是一個(gè)泛稱,UART、TTL、RS232、RS485都遵循類似的通信時(shí)序協(xié)議,因此都被通稱為串口。串口通訊應(yīng)用是工控人必須掌握的一個(gè)技能,幾乎在每一個(gè)項(xiàng)目中都會(huì)用到,今天我們就來詳細(xì)比較一下它們究竟有何區(qū)別。

關(guān)鍵字: 串口 協(xié)議

在嵌入式系統(tǒng)的開發(fā)中,中斷機(jī)制扮演著至關(guān)重要的角色。它允許系統(tǒng)在執(zhí)行正常程序流程時(shí),響應(yīng)外部或內(nèi)部事件,從而確保系統(tǒng)能夠及時(shí)響應(yīng)并處理緊急事件。本文將深入探討嵌入式系統(tǒng)中中斷的概念、如何在系統(tǒng)中設(shè)置和處理多個(gè)中斷的優(yōu)先級...

關(guān)鍵字: 嵌入式系統(tǒng) 中斷

在嵌入式開發(fā)過程中,許多系統(tǒng)通常使用串口驅(qū)動(dòng)來滿足通信要求,但在實(shí)際應(yīng)用中,使用SPI通信方式會(huì)更加高效和快捷。

關(guān)鍵字: 串口 驅(qū)動(dòng)

串口WiFi模塊作為新一代嵌入式WiFi模塊,因其體積小、功耗低的特點(diǎn),廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居等領(lǐng)域。

關(guān)鍵字: 串口 WiFi模塊 嵌入式

在現(xiàn)代嵌入式系統(tǒng)設(shè)計(jì)中,F(xiàn)PGA(現(xiàn)場可編程門陣列)的靈活性和可重構(gòu)性使其成為許多應(yīng)用的理想選擇。而在FPGA的開發(fā)和部署過程中,如何實(shí)現(xiàn)遠(yuǎn)程升級和故障恢復(fù)成為了一個(gè)重要議題。本文將詳細(xì)探討如何通過BPI FLASH實(shí)現(xiàn)...

關(guān)鍵字: FPGA 串口 MultiBoot 嵌入式系統(tǒng)

在現(xiàn)代電子設(shè)計(jì)中,F(xiàn)PGA(現(xiàn)場可編程門陣列)因其高度的靈活性和可重構(gòu)性,成為眾多領(lǐng)域的核心組件。特別是在需要?jiǎng)討B(tài)更新或調(diào)整系統(tǒng)功能的場景中,F(xiàn)PGA的串口升級和MultiBoot功能顯得尤為重要。本文將深入探討FPGA...

關(guān)鍵字: FPGA 串口 MultiBoot

之前有個(gè)同事因?yàn)橛么诓樵兎绞桨l(fā)送數(shù)據(jù),被我說了一頓,明明有DMA資源,竟然放著不用,對于魚鷹這種性能強(qiáng)迫癥來說,肯定無法忍受,所以當(dāng)時(shí)就和他說,有時(shí)間你把它改一下。誰知道過了好幾個(gè)月他才有時(shí)間弄這個(gè),然后還是出了問題,...

關(guān)鍵字: DMA 串口
關(guān)閉