娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

        今天記錄一下關(guān)于外部中斷的知識點(diǎn)以及在32上外部中斷的相關(guān)寄存器以及配置的流程。


一、原理介紹


        首先,什么是中斷


        中斷就是將正在做的事情停下來,先去完成另外一件事情,完成后繼續(xù)回來做這件事。


        比如:在吃飯的時(shí)候有電話打來,去接電話,打完電話后繼續(xù)吃法。


        在計(jì)算機(jī)科學(xué)中,中斷(英語:Interrupt)是指處理器接收到來自硬件或軟件的信號,提示發(fā)生了某個事件,應(yīng)該被注意,這種情況就稱為中斷。


        通常,在接收到來自外圍硬件(相對于中央處理器和內(nèi)存)的異步信號,或來自軟件的同步信號之后,處理器將會進(jìn)行相應(yīng)的硬件/軟件處理。發(fā)出這樣的信號稱為進(jìn)行中斷請求(interrupt request,IRQ)。硬件中斷導(dǎo)致處理器通過一個運(yùn)行信息切換(context switch)來保存執(zhí)行狀態(tài)(以程序計(jì)數(shù)器和程序狀態(tài)字等寄存器信息為主);軟件中斷則通常作為CPU指令集中的一個指令,以可編程的方式直接指示這種運(yùn)行信息切換,并將處理導(dǎo)向一段中斷處理代碼。中斷在計(jì)算機(jī)多任務(wù)處理,尤其是即時(shí)系統(tǒng)中尤為有用。

        上圖就是中斷的流程圖,可以看出中斷也支持嵌套,高級別的中斷可以打斷低級別的中斷。


        中斷的分類:根據(jù)中斷的來源可以分為內(nèi)部中斷、外部中斷


                            根據(jù)中斷來源的性質(zhì)不同可以分為軟件中斷、硬件中斷


                            根據(jù)系統(tǒng)處理和響應(yīng)的方式可以分為向量中斷、非向量中斷


        今天主要記錄外部中斷的一些要點(diǎn),其他的分類方式以及各類中斷的區(qū)分以后會再寫博客記錄。


        外部指的是相對CPU來說的,也就是說這個中斷是發(fā)生在CPU外的。


        外部中斷的觸發(fā)方式有:電平觸發(fā)和跳沿觸發(fā) 


        邊沿觸發(fā)和電平觸發(fā)基本就是觸發(fā)器和鎖存器的區(qū)別。

        觸發(fā)器是邊沿觸發(fā),只有當(dāng)時(shí)鐘上升(或下降)的一瞬間,觸發(fā)器會讀取并鎖存輸入信號。輸出信號僅在時(shí)鐘信號上升(或下降)的一瞬間會發(fā)生變化。

        鎖存器是電平觸發(fā),只要使能(enable)信號處于高電平(或低電平),輸出就會隨著輸入信號變化,直到使能信號變?yōu)榈碗娖剑ɑ蚋唠娖剑r(shí),輸出才會鎖存,不再隨輸入變化。

二、在32上的外部中斷

        STM32F4的每個IO都可以作為外部中斷輸入。

         STM32F4的中斷控制器支持22個外部中斷/事件請求:

        EXTI線0~15:對應(yīng)外部IO口的輸入中斷。

        EXTI線16:連接到PVD輸出。

        EXTI線17:連接到RTC鬧鐘事件。

        EXTI線18:連接到USB OTG FS喚醒事件。

        EXTI線19:連接到以太網(wǎng)喚醒事件。

        EXTI線20:連接到USB OTG HS(在FS中配置)喚醒事件。

        EXTI線21:連接到RTC入侵和時(shí)間戳事件。

        EXTI線22:連接到RTC喚醒事件。

        每個外部中斷線可以獨(dú)立的配置觸發(fā)方式(上升沿,下降沿或者雙邊沿觸發(fā)),觸發(fā)/屏蔽,專用的狀態(tài)位。


        但是值得注意的是:外部IO口有16條中斷線,但并不是能設(shè)置16個外部中斷


        IO口外部中斷在中斷向量表中只分配了7個中斷向量,也就是只能使用7個中斷服務(wù)函數(shù)


        中斷線5-9分配一個中斷向量,共用一個中斷服務(wù)函數(shù),中斷線10-15分配一個中斷向量,公用一個中斷服務(wù)函數(shù)。


        中斷的配置過程還是比較簡單的


        1、使能時(shí)鐘


        2、初始化IO口為輸入模式


        3、設(shè)置IO口與中斷線的映射關(guān)系,并設(shè)置觸發(fā)條件。


        4、配置中斷優(yōu)先級(搶占、響應(yīng))以及中斷分組。


        5、編寫中斷服務(wù)函數(shù)(中斷函數(shù)的最后一個語句是清除中斷標(biāo)記位)


        關(guān)于中斷優(yōu)先級,要強(qiáng)調(diào)一些:在STM32上的中斷優(yōu)先級與51上的中斷優(yōu)先級不同,51上只是給每個中斷一個數(shù)字,高優(yōu)先級的可以打斷低優(yōu)先級,若低優(yōu)先級的中斷在高優(yōu)先級中斷執(zhí)行的時(shí)候發(fā)生會被忽略;在32上中斷優(yōu)先級有搶占優(yōu)先級和響應(yīng)優(yōu)先級之分,其中搶占優(yōu)先級類似于51上的中斷優(yōu)先級,高搶占優(yōu)先級的中斷會打斷低搶占優(yōu)先級的中斷,而響應(yīng)優(yōu)先級就是給相同搶占優(yōu)先級的中斷排了一個次序,若倆個相同搶占優(yōu)先級的中斷同時(shí)發(fā)生時(shí),會先執(zhí)行高響應(yīng)優(yōu)先級的中斷,低響應(yīng)優(yōu)先級的中斷會在之后執(zhí)行。這樣可以選擇的配置方式就更多了。


        在32上配置外部中斷的代碼還是很簡單的,使能時(shí)鐘和配置IO口的代碼就不貼的


        關(guān)于配置中斷       


Ex_NVIC_Config(GPIO_E,2,FTIR); //下降沿觸發(fā)

MY_NVIC_Init(3,2,EXTI2_IRQn,2); //搶占3,子優(yōu)先級2,組2

        第一個函數(shù)用來配置PE2為下降沿中斷,第二個函數(shù)設(shè)置中斷線2的搶占優(yōu)先級為3,響應(yīng)優(yōu)先級為2,中斷分組為2。


        接下來編寫中斷服務(wù)函數(shù)


void EXTI2_IRQHandler(void)

{

delay_ms(10); //消抖

if(KEY2==0)   

{  

LED0=!LED0;  

}  

EXTI->PR=1<<2;  //清除LINE2上的中斷標(biāo)志位  

}

        首先是10ms的軟件去抖動,此處的含義是按鍵按下后改變LED0的狀態(tài),最后要清除中斷標(biāo)志位。


三、總結(jié)


        外部中斷在開發(fā)中是時(shí)常用到的,但是對外部中斷的使用也是有許多技巧和策略的,我了解的并不多,這需要時(shí)間和經(jīng)驗(yàn)的積累,我知道的一點(diǎn)就是,在中斷中處理盡可能少的事情,最好只是設(shè)置一個標(biāo)志,把主要工作留給主函數(shù)來執(zhí)行。


        以上就是我對外部中斷的總結(jié)


關(guān)鍵字:STM32  外部中斷 引用地址:STM32上的外部中斷

上一篇:錯誤解決:STM32F103串口1與串口3相同代碼卻結(jié)果不同
下一篇:STM32上的PWM

推薦閱讀

????雖然在半導(dǎo)體領(lǐng)域相對世界頂尖水平差距很大,但中國也正在努力迎頭趕上,國產(chǎn)CPU處理器、內(nèi)存、閃存等等都在積極進(jìn)取。現(xiàn)在,中國自己的顯卡又要來了!  據(jù)新華社報(bào)道,由中國船舶重工集團(tuán)公司第709研究所研發(fā)、具備完全自主知識產(chǎn)權(quán)的國產(chǎn)3D圖形處理器芯片“凌久GP101”近日一次流片成功。  據(jù)介紹,凌久GP101 GPU芯片支持HDMI、DVI、VGA等...
全球第二大晶圓代工廠—格芯近來營運(yùn)頻傳利空消息,除2018年下半年宣布不再追求7奈米先進(jìn)制程的開發(fā),且2019年1月底將位于新加坡Tampines的Fab 3E 8吋晶圓廠售予世界先進(jìn),2月中旬又傳出格芯與成都市政府在高新區(qū)的12吋廠投資計(jì)劃停擺,此已是格芯先前投資重慶喊卡后,投資大陸再次失利的狀況,除反映近期晶圓代工景氣情勢反轉(zhuǎn)向下,影響投資計(jì)劃,且面...
面對疫情,社會重新認(rèn)識到人工智能機(jī)器人的重要性,在勞動力減少、人員接觸降低的環(huán)境下,機(jī)器人基于不被病毒感染和持續(xù)工作的特點(diǎn)獲得了大量應(yīng)用,巡檢、醫(yī)療、消毒機(jī)器人助力抗疫和復(fù)工,增強(qiáng)了防疫效率。特別是醫(yī)療場所、交通樞紐、商業(yè)中心等區(qū)域的安全需求讓測溫巡邏機(jī)器人成為網(wǎng)紅。3月5日,中國電信天翼物聯(lián)公司以“物云筑力 翼同戰(zhàn)疫”為主題召開...
MoneyDJ引述彭博社報(bào)道,博通首席執(zhí)行官陳福陽(Tan Hock Eng)在4日的財(cái)報(bào)電話會議上表示,客戶正以前所未有的速度追加芯片訂單,2021年大約90%的貨源已被預(yù)訂。他補(bǔ)充說,盡管一些產(chǎn)業(yè)抱怨芯片短缺,但博通已經(jīng)自晶圓代工伙伴取得能夠滿足客戶需求的產(chǎn)能。據(jù)悉,博通自2020年年中起開始著手審查積壓訂單,以確保與智能手機(jī)和網(wǎng)絡(luò)設(shè)備等終端產(chǎn)品的需求趨...

史海拾趣

問答坊 | AI 解惑

高清視頻處理,用FPGA還是DSP

在視頻處理中,FPG和DSP之爭早就有了,考慮到量產(chǎn)價(jià)格的原因 ,我們老大偏向DSP,可據(jù)說FPGA做高清視頻處理比 DSP效果好,各位有什么看法啊,也沒機(jī)會做個比較!…

查看全部問答∨

[思考]C++不適合做大項(xiàng)目?

http://blog.codingnow.com/2009/12/cpp2009.html Lippman 大牛的第一場,關(guān)于大型可伸縮性的軟件開發(fā)的, Chen Shuo 同學(xué)翻譯的很不錯 找到電源,所以可以寫寫了。 果然是牛人啊,上來就講形而上的東西。我聽的有趣,就做了點(diǎn)筆記,但是記的不 ...…

查看全部問答∨

calibrate_delay 的頭文件是什么

嵌入式開發(fā),Linux系統(tǒng),是可以在驅(qū)動里面調(diào)用calibrate_delay 這個函數(shù)的吧 不知道需要包含什么頭文件…

查看全部問答∨

WINCE下10Mbps的SPI數(shù)據(jù)流采用中斷的接收工作方式(等到了中斷然后一個個地讀接收SFR)能不能處理的過來?難道必須用DMA工作方式嗎?

WINCE下10Mbps的SPI數(shù)據(jù)流采用中斷的接收工作方式(等到了中斷然后一個個地讀接收SFR)能不能處理的過來?難道必須用DMA工作方式嗎?…

查看全部問答∨

eeworld給的分,慰勞慰勞弟兄們!(3)

eeworld給的分,慰勞慰勞弟兄們!(3) 以后咱好好干活... 我們得好好加油哈!!! 為了中國軟件的明天還有,eeworld的未來!!! 呵呵…

查看全部問答∨

多串口采集卡的設(shè)計(jì)思路

現(xiàn)在市場上有很多多串口卡賣,但都必須借助PC為平臺來使用,我想有一塊多串口卡 ;其功能是在外部有一個25Hz的中斷信號輸入到多串口卡,此時(shí)幾個串口同時(shí)錄取數(shù)據(jù),錄取完成以后將幾路的數(shù)據(jù)按一定的順序?qū)懭氲揭粋€RAM中,以給其他設(shè)備來使用。…

查看全部問答∨

從事java開發(fā)的轉(zhuǎn)向嵌入式開發(fā)困難嗎?

從事java開發(fā)的轉(zhuǎn)向嵌入式開發(fā)困難嗎?兩者是否有一些共通點(diǎn)呢?…

查看全部問答∨

關(guān)于select()函數(shù)的問題

原程序:#include <fcntl.h>#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <time.h>int main(){        int fds[2]; & ...…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 广平县| 长垣县| 阳春市| 南漳县| 临夏市| 许昌县| 通州区| 方正县| 菏泽市| 威信县| 漠河县| 城口县| 沭阳县| 义马市| 乳源| 武邑县| 昌乐县| 饶阳县| 玉龙| 阿合奇县| 兰溪市| 利辛县| 南川市| 上林县| 淮南市| 海盐县| 凤阳县| 河源市| 祁阳县| 积石山| 万州区| 黔西县| 海原县| 岐山县| 肃南| 东方市| 宁陵县| 迭部县| 长白| 德钦县| 南平市|