您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)STM32中斷與事件的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
關(guān)于事件、中斷事件 、中斷三個(gè)概念的比喻
比如一老師在教室里給學(xué)生們上課。課堂上的學(xué)生可能做出各種行為動(dòng)作,比方做筆記、打哈氣、翻書包、講小話等,我們把這些行為統(tǒng)稱為事件,其中有些行為老師往往只是視而不見,繼續(xù)他的上課;而有些行為可能導(dǎo)致老師的上課中止,比方講小話,并對(duì)學(xué)生的相關(guān)行為予以警告、批評(píng)或糾正等,然后繼續(xù)上課。我們把老師因?yàn)閷W(xué)生的某些行為而中止授課,并產(chǎn)生后續(xù)動(dòng)作,之后接著上課的這個(gè)過程理解為中斷或中斷響應(yīng)。我們把可能導(dǎo)致老師上課中斷的學(xué)生行為理解為中斷事件。
結(jié)合具體的ST MCU運(yùn)行過程
ST MCU運(yùn)行過程,其中會(huì)有許多各種各樣的事件,比方管腳電平變化、計(jì)數(shù)器溢出、DMA空、FIFO非空、AD轉(zhuǎn)換結(jié)束、超時(shí)、外設(shè)使能、初始化等等,其中有些事件是不會(huì)導(dǎo)致中斷產(chǎn)生的,比方外設(shè)使能或部分初始化動(dòng)作是不會(huì)導(dǎo)致中斷發(fā)生的,有些事件就可能導(dǎo)致中斷發(fā)生,比方計(jì)數(shù)器溢出,AD轉(zhuǎn)換結(jié)束等,這些就是中斷事件。當(dāng)然這些中斷事件最終能否觸發(fā)后續(xù)中斷,得看是否開啟了該中斷事件的中斷使能,相關(guān)中斷矢量控制器【NVIC】是否配置,最終讓CPU內(nèi)核參與進(jìn)來,并完成后續(xù)的中斷服務(wù)動(dòng)作。
既然一個(gè)可以觸發(fā)中斷的事件可能被配置中斷事件或非中斷事件,那么在相關(guān)事件的觸發(fā)配置時(shí)就出現(xiàn)兩種可能,即允許產(chǎn)生中斷或禁止產(chǎn)生中斷。于是乎,ST MCU參考手冊(cè)里在談到事件的觸發(fā)方式時(shí)就引出了事件模式和中斷模式兩個(gè)概念。
例子
比方STM32的GPIO口的電平跳變基本都是可以觸發(fā)外部中斷的。但在具體配置時(shí),可以根據(jù)需要來決定啟用還是禁用相關(guān)腳的中斷功能,從而選擇不同的事件觸發(fā)方式,即事件模式和中斷模式。如果不希望電平跳變事件觸發(fā)中斷,就配置為事件模式,反之,配置為中斷模式
概念區(qū)分
需觸發(fā)中斷,交給NVIC處理的,也就是軟件上有中斷函數(shù)的,叫中斷
不要觸發(fā)中斷,直接給外設(shè)(rg,ADC)的,軟件上沒有中斷函數(shù)的,叫事件。
觸發(fā)中斷,而且軟件上也有中斷函數(shù)的,叫中斷事件
關(guān)于“STM32中斷與事件的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。