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

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

  MSP430F1121(下面簡(jiǎn)稱F1121)是TI公司新近推出的一款廉價(jià)的20引腳低功耗16位Flash單片機(jī)。它所具備的多種中斷功能使其應(yīng)用靈活,并適用于各種不同的應(yīng)用領(lǐng)域。

  不過,我們?cè)趹?yīng)用開發(fā)中發(fā)現(xiàn),廠家提供的技術(shù)文件雖然不少,但是對(duì)有關(guān)中斷的說明卻不那么詳盡,這就給應(yīng)用開發(fā)造成了諸多不便。為此,我們專門用程序進(jìn)行了一些試驗(yàn),并從中明確了一些問題。在這里,我們就把這些問題說明一下,供大家參考。

  在說明這些問題之前,有必要先來看一下F1121的中斷,如表1所列。

  表1 F1121中斷

  

  F1121的各個(gè)中斷都有對(duì)應(yīng)的中斷向量和中斷優(yōu)先級(jí),通常被分為三類:系統(tǒng)復(fù)位、(非)屏蔽中斷和可屏蔽中斷。此外,F(xiàn)1121的各中斷又分單源中斷和多源中斷,對(duì)應(yīng)的中斷標(biāo)志稱為單源中斷標(biāo)志和多源中斷標(biāo)志。

  一、 系統(tǒng)復(fù)位

  從形式上講,可以把系統(tǒng)復(fù)位看成一種中斷,但這是一種特殊的中斷,雖然它也有中斷向量(復(fù)位向量)和中斷優(yōu)先級(jí),但與通常意義的中斷有明顯的區(qū)別:系統(tǒng)復(fù)位導(dǎo)致系統(tǒng)進(jìn)入初始狀態(tài),并迫使程序從頭開始運(yùn)行。

  1. 導(dǎo)致系統(tǒng)復(fù)位的情況及POR和PUC信號(hào)

  有4種情況能夠?qū)е孪到y(tǒng)復(fù)位,并且產(chǎn)生POR(Power-On Reset)和PUC(Power-Up Clear)信號(hào):

  · 上電復(fù)位——產(chǎn)生POR和PUC;

  · RST復(fù)位(外部復(fù)位信號(hào)復(fù)位)——產(chǎn)生POR和PUC;

  · 看門狗中斷——僅產(chǎn)生PUC;

  · 關(guān)鍵碼錯(cuò)誤中斷——僅產(chǎn)生PUC。

  POR和PUC都是系統(tǒng)復(fù)位時(shí)產(chǎn)生的芯片內(nèi)部信號(hào),負(fù)責(zé)對(duì)寄存器進(jìn)行初始化。在F1121提供的技術(shù)文件中,由PUC信號(hào)負(fù)責(zé)初始化的那些寄存器位,其初始狀態(tài)用“?0”和“?1”來表示,而由POR信號(hào)負(fù)責(zé)的,用“?(0)”和“?(1)”來表示。例如,圖1所示的BCSCTL1寄存器,高4 位由POR負(fù)責(zé),低4位由PUC負(fù)責(zé)。

  不同的系統(tǒng)復(fù)位情況產(chǎn)生不同的PUC和POR,因而產(chǎn)生不同的系統(tǒng)初始化結(jié)果。例如,對(duì)于BCSCTL1寄存器,不管是什么原因造成了系統(tǒng)復(fù)位,其低4位都將回到初始狀態(tài)上;高4位只有在上電復(fù)位和RST復(fù)位這兩種情況下才會(huì)回到初始狀態(tài),而在其他情況下(除非芯片掉電)其狀態(tài)保持不變。

  2. 看門狗中斷標(biāo)志W(wǎng)DTIFG

  看門狗定時(shí)器有兩種工作方式,且都使用中斷標(biāo)志W(wǎng)DTIFG,但它們的表現(xiàn)卻有明顯的區(qū)別。在看門狗工作方式下(產(chǎn)生導(dǎo)致系統(tǒng)復(fù)位的看門狗中斷),其表現(xiàn)為:當(dāng)發(fā)生看門狗中斷而導(dǎo)致系統(tǒng)復(fù)位時(shí),WDTIFG將置“1”(其他復(fù)位情況下為“0”)。這時(shí)的WDTIFG不能自動(dòng)清“0”,只有等待軟件(程序指令)將其清“0”。不過即使不清“0”(無論WDTIFG是“1”還是“0”),也不會(huì)影響程序的運(yùn)行,而且也不會(huì)妨礙再次產(chǎn)生看門狗中斷。實(shí)際上,這時(shí)的WDTIFG僅僅是標(biāo)記一下是否產(chǎn)生了看門狗中斷的作用,以便區(qū)分系統(tǒng)復(fù)位的原因。另一個(gè)導(dǎo)致系統(tǒng)復(fù)位的關(guān)鍵碼錯(cuò)誤中斷的中斷標(biāo)志KEYV 的情況也是如此。

  另外,中斷使能位WDTIE對(duì)看門狗中斷不起任何作用。

  二、 中斷

  中斷分為可屏蔽中斷和非屏蔽中斷,區(qū)分它們的惟一準(zhǔn)則是GIE(可屏蔽中斷使能總控制位)能否禁止其中斷。凡是能被GIE禁止的就是可屏蔽中斷,不能被禁止的就是非屏蔽中斷。

  但是在F1121中,真正的非屏蔽中斷只有看門狗中斷和關(guān)鍵碼錯(cuò)誤中斷。這兩種中斷卻不是普通意義的中斷,因?yàn)樗鼈儠?huì)導(dǎo)致系統(tǒng)復(fù)位。除此之外,還有三種中斷屬于非屏蔽中斷的范疇,但它們卻不是真正的非屏蔽中斷,因?yàn)樗鼈兏髯远加凶约旱闹袛嗍鼓芸刂莆?,這些中斷使能控制位能夠屏蔽它們的中斷。所以,對(duì)這三種中斷用“(非)屏蔽中斷”來表示。

  1. 中斷標(biāo)志

  無論可屏蔽中斷還是(非)屏蔽中斷都有自己的中斷標(biāo)志,其共同特點(diǎn)是:① 中斷標(biāo)志的狀態(tài)與該中斷源能否產(chǎn)生中斷無關(guān)?;蛘哒f,不管是否允許其中斷,只要滿足了中斷的條件,中斷標(biāo)志就會(huì)置“1”。另外,也可以用軟件將中斷標(biāo)志置 “1”或清“0”。② 中斷源就是通過中斷標(biāo)志請(qǐng)求中斷的(當(dāng)允許其中斷時(shí))。下面以(看門狗)定時(shí)器中斷(不同于看門狗中斷,它產(chǎn)生可屏蔽中斷,中斷向量為FFF4h,中斷優(yōu)先級(jí)是10)為例進(jìn)行說明。

  · 在允許其中斷的情況下,無論什么原因,只要WDTIFG置“1”就會(huì)產(chǎn)生中斷。例如,定時(shí)器溢出(這時(shí)WDTIFG置“1”)會(huì)產(chǎn)生中斷,用軟件強(qiáng)行將WDTIFG置“1”也會(huì)產(chǎn)生中斷。

  · 如果在中斷被禁止的情況下WDTIFG已經(jīng)置“1”,那么一旦允許,它就會(huì)產(chǎn)生中斷。

  · 如果在中斷被禁止的情況下WDTIFG已經(jīng)置“1”,但是,假如在允許它中斷之前將其清“0”,那么,即使允許,它也不會(huì)產(chǎn)生中斷。

  中斷標(biāo)志分為兩種——單源中斷標(biāo)志和多源中斷標(biāo)志,它們有不同的特性。

 ?。?) 單源中斷標(biāo)志

  如果一個(gè)中斷向量(也就是中斷處理程序)只對(duì)應(yīng)惟一的一個(gè)中斷源,那么,這個(gè)中斷就被稱為單源中斷,其中斷標(biāo)志就是單源中斷標(biāo)志。例如,(看門狗)定時(shí)器中斷的WDTIFG、比較器A中斷的CAIFG和定時(shí)器A中斷的CCIFG0都是單源中斷標(biāo)志。

  單源中斷標(biāo)志的特性是:當(dāng)單源中斷被響應(yīng)時(shí),其單源中斷標(biāo)志將會(huì)自動(dòng)清“0”。

  但須注意,如果在中斷處理過程中(中斷返回之前)這個(gè)單源中斷標(biāo)志又重新被置“1”,那么,它就不會(huì)自動(dòng)清“0”了,只有用軟件才能將其清“0”。

 ?。?) 多源中斷標(biāo)志

  如果一個(gè)中斷向量對(duì)應(yīng)于多個(gè)中斷源(即多個(gè)中斷共用一個(gè)中斷處理程序),那么這些中斷都稱為多源中斷,對(duì)應(yīng)的各個(gè)中斷標(biāo)志都是多源中斷標(biāo)志。例如,三個(gè)(非)屏蔽中斷的NMIIFG、OFIFG、ACCVIFG以及定時(shí)器A中斷的CCIFG1、CCIFG2、 TAIFG和P1及P2口的所有中斷標(biāo)志都是多源中斷標(biāo)志。

  多源中斷標(biāo)志的特性是:當(dāng)多源中斷被響應(yīng)時(shí),多源中斷標(biāo)志不能自動(dòng)清“0”,只能用軟件才能將其清“0”。因此,一定不要忘記在中斷返回之前將多源中斷標(biāo)志清“0”;否則,當(dāng)中斷返回后,這個(gè)沒有被清“0”的中斷標(biāo)志馬上就會(huì)再次請(qǐng)求中斷。

  2. (非)屏蔽中斷

  一共有三個(gè)(非)屏蔽中斷:NMI中斷、振蕩器故障中斷和Flash讀寫錯(cuò)誤中斷。它們不受GIE狀態(tài)的影響,但各自都有中斷使能位:NMIIE、OFIE和ACCVIE,只有當(dāng)中斷使能位被置位后,才能允許對(duì)應(yīng)的中斷源產(chǎn)生中斷。

  注意:對(duì)這三個(gè)(非)屏蔽中斷來說,只要響應(yīng)了其中的一個(gè)中斷,所有這三個(gè)中斷使能位就會(huì)全部自動(dòng)復(fù)位,而且一直保持在復(fù)位狀態(tài)上,即使中斷返回后它們也不會(huì)自動(dòng)恢復(fù)為先前的狀態(tài),所以,需要用軟件才能將它們重新置位。另外須注意的是,這三個(gè)中斷都是多源中斷。

  3. 可屏蔽中斷和GIE

  能夠被GIE禁止的中斷都是可屏蔽中斷,其中有的是單源中斷(單源中斷標(biāo)志),有的是多源中斷(多源中斷標(biāo)志)。所有這些中斷都有各自的中斷使能位,只有當(dāng)中斷使能位被置位并且GIE置位后,才能允許對(duì)應(yīng)的中斷源產(chǎn)生中斷。除了系統(tǒng)復(fù)位或者用軟件進(jìn)行改寫之外,其他任何情況(包括中斷響應(yīng)或中斷返回等)都不會(huì)對(duì)這些中斷使能位的狀態(tài)產(chǎn)生影響。

  GIE是可屏蔽中斷使能總控制位,當(dāng)它復(fù)位時(shí)禁止所有可屏蔽中斷源請(qǐng)求中斷,當(dāng)它置位時(shí)才有可能允許它們請(qǐng)求中斷(能否允許還取決于它們各自的中斷使能位的狀態(tài))。

  注意:當(dāng)響應(yīng)了任何一個(gè)中斷時(shí),包括可屏蔽中斷和(非)屏蔽中斷,GIE將會(huì)自動(dòng)復(fù)位;當(dāng)中斷返回時(shí)它又會(huì)自動(dòng)恢復(fù)為中斷前的狀態(tài)(除非在中斷處理期間改寫了保存在堆棧中的GIE的內(nèi)容)。

  如果在中斷處理期間用軟件將已經(jīng)復(fù)位的GIE重新置位,這時(shí)就可以形成可屏蔽中斷嵌套。

  4. 中斷優(yōu)先級(jí)

  F1121的中斷優(yōu)先級(jí)與其他微處理器中的概念略有不同:它只對(duì)同時(shí)發(fā)生多個(gè)中斷的情況有效(級(jí)別高的中斷優(yōu)先被響應(yīng)),而對(duì)中斷嵌套的情況沒有任何限制。

  5. 中斷嵌套

  如果在處理某一中斷期間又響應(yīng)了其他中斷請(qǐng)求,這時(shí)就會(huì)形成中斷嵌套。中斷嵌套時(shí),前一中斷處理過程被暫停,當(dāng)后一中斷被處理完之后才會(huì)繼續(xù)處理前一中斷。

  注意:只有在中斷處理期間將GIE重新置位,可屏蔽中斷才能夠嵌入到這個(gè)中斷的處理之中;但(非)屏蔽中斷卻不受此限制,它們可以隨時(shí)嵌入到任何處理之中(如果允許其中斷的話)。另外,F(xiàn)1121的中斷嵌套不受中斷優(yōu)先級(jí)的任何限制。也就是說,高級(jí)別中斷可以嵌入到低級(jí)別中斷的處理過程中;反過來,低級(jí)別中斷也可以嵌入到高級(jí)別的中斷處理過程中,甚至可以形成自身嵌套。這些情況對(duì)(非)屏蔽中斷也不例外。因此,在使用F1121時(shí)須特別注意這一點(diǎn),即使不是有意使用中斷嵌套,也必須考慮這一問題,因?yàn)檫@時(shí)仍會(huì)存在發(fā)生中斷嵌套的可能,而且,如果嵌套會(huì)影響中斷的某一(些)狀態(tài)的話,就有可能造成系統(tǒng)運(yùn)行錯(cuò)誤。

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

為增進(jìn)大家對(duì)嵌入式的認(rèn)識(shí),本文將對(duì)嵌入式開發(fā)以及學(xué)習(xí)嵌入式需要注意的事項(xiàng)予以介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式開發(fā)

中國上海,2025年4月7日 — 全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR正式發(fā)布全新云就緒平臺(tái),為嵌入式開發(fā)團(tuán)隊(duì)提供企業(yè)級(jí)的可擴(kuò)展性、安全性和自動(dòng)化能力。該平臺(tái)于在德國紐倫堡舉辦的embedded world...

關(guān)鍵字: 自動(dòng)化 嵌入式開發(fā) RISC-V

在嵌入式系統(tǒng)開發(fā)領(lǐng)域,VS Code(Visual Studio Code)作為一款輕量級(jí)但功能強(qiáng)大的代碼編輯器,正逐漸成為開發(fā)者的首選工具。本文將詳細(xì)介紹如何在VS Code上搭建嵌入式開發(fā)環(huán)境,并分享一些調(diào)試技巧。

關(guān)鍵字: VS Code 嵌入式開發(fā)

隨著汽車電子化、智能化程度的不斷提高,車載以太網(wǎng)(Automotive Ethernet)作為新一代車載網(wǎng)絡(luò)通信技術(shù),正逐漸成為汽車內(nèi)部通信的主干網(wǎng)絡(luò)。它以其高帶寬、低延遲和強(qiáng)抗干擾能力,為汽車提供了更加高效、可靠的數(shù)據(jù)...

關(guān)鍵字: 車載以太網(wǎng) 嵌入式開發(fā)

隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)對(duì)實(shí)時(shí)性、低功耗和可擴(kuò)展性的要求越來越高。Zephyr RTOS(實(shí)時(shí)操作系統(tǒng))作為一款專為資源受限設(shè)備設(shè)計(jì)的開源RTOS,憑借其輕量級(jí)、模塊化和高可擴(kuò)展性,在嵌入式開發(fā)領(lǐng)域得到了廣泛...

關(guān)鍵字: 嵌入式開發(fā) Zephyr RTOS 物聯(lián)網(wǎng)

嵌入式開發(fā),作為電子工程和計(jì)算機(jī)科學(xué)交叉領(lǐng)域的重要分支,對(duì)于構(gòu)建穩(wěn)定、高效的軟件系統(tǒng)提出了獨(dú)特挑戰(zhàn)。本文將深入探討嵌入式開發(fā)的可靠方法論,結(jié)合實(shí)例與代碼,為開發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開發(fā) 計(jì)算機(jī)科學(xué)

嵌入式開發(fā),作為電子工程和計(jì)算機(jī)科學(xué)的交匯點(diǎn),對(duì)軟件系統(tǒng)的穩(wěn)定性和效率提出了極高的要求。本文將結(jié)合具體案例,深入探討嵌入式開發(fā)中的可靠方法論,為開發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開發(fā) 智能家居

在科技日新月異的今天,嵌入式開發(fā)作為連接硬件與軟件的橋梁,在物聯(lián)網(wǎng)、智能設(shè)備、工業(yè)自動(dòng)化等領(lǐng)域扮演著至關(guān)重要的角色。對(duì)于許多技術(shù)愛好者而言,自學(xué)嵌入式開發(fā)既是一個(gè)充滿魅力的挑戰(zhàn),也是一條通往創(chuàng)新實(shí)踐的必由之路。然而,這條...

關(guān)鍵字: 嵌入式開發(fā) 物聯(lián)網(wǎng)

在科技日新月異的今天,嵌入式開發(fā)與Java開發(fā)作為軟件開發(fā)領(lǐng)域的兩大重要分支,各自展現(xiàn)出了獨(dú)特的發(fā)展軌跡和市場(chǎng)前景。近年來,關(guān)于嵌入式開發(fā)是否會(huì)像Java開發(fā)一樣“卷”的討論日益增多,這背后既反映了市場(chǎng)對(duì)技術(shù)趨勢(shì)的敏銳洞...

關(guān)鍵字: 嵌入式開發(fā) Java開發(fā)

現(xiàn)在在嵌入式開發(fā)MCU中,八塊MCU仍占據(jù)三分之一以上的份額,在工業(yè)控制,安全,物聯(lián)網(wǎng),消費(fèi)電子等諸多領(lǐng)域,八塊MCU依然隨處可見。

關(guān)鍵字: 嵌入式開發(fā) MCU
關(guān)閉