成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

中斷函數(shù)注意什么 中斷入口函數(shù)和中斷處理函數(shù)有什么區(qū)別?

中斷入口函數(shù)和中斷處理函數(shù)有什么區(qū)別?中斷輸入函數(shù)是進(jìn)入中斷地址的輸入向量,中斷處理函數(shù)是響應(yīng)中斷,執(zhí)行中斷程序,輸出結(jié)果,達(dá)到處理突發(fā)事件的目的。中斷函數(shù)注意點(diǎn)?1. 中斷處理函數(shù)的返回值和形式參數(shù)

中斷入口函數(shù)和中斷處理函數(shù)有什么區(qū)別?

中斷輸入函數(shù)是進(jìn)入中斷地址的輸入向量,中斷處理函數(shù)是響應(yīng)中斷,執(zhí)行中斷程序,輸出結(jié)果,達(dá)到處理突發(fā)事件的目的。

中斷函數(shù)注意點(diǎn)?

1. 中斷處理函數(shù)的返回值和形式參數(shù)

中斷處理函數(shù)不能有返回值和形式參數(shù),因?yàn)橹袛嗵幚砗瘮?shù)是由硬件(或觸發(fā)器)調(diào)用的,沒有程序向其傳遞參數(shù),也沒有程序接收其返回值,其參數(shù)通過全局變量傳遞。

但是,請(qǐng)注意,如果要檢測(cè)的其他函數(shù)的全局變量值在中斷服務(wù)函數(shù)中發(fā)生更改,則volatile關(guān)鍵字將用于定義全局變量。因?yàn)橹鞒绦蚩赡軙?huì)將變量讀入寄存器,然后每次只使用寄存器中的變量副本。如果此時(shí)不使用volatile關(guān)鍵字,則在中斷服務(wù)函數(shù)中修改變量的操作將被短路。

2. 浮點(diǎn)運(yùn)算是在中斷處理函數(shù)中執(zhí)行的

由于浮點(diǎn)運(yùn)算通常是由特殊的硬件執(zhí)行的,因此硬件設(shè)備會(huì)涉及類似全局變量的內(nèi)容(如硬件端口或存儲(chǔ)在硬件設(shè)備中的數(shù)據(jù))。如果浮點(diǎn)運(yùn)算過程中斷,其他函數(shù)也可能使用浮點(diǎn)運(yùn)算,這將破壞設(shè)備中當(dāng)前的硬件數(shù)據(jù)??梢岳斫猓↑c(diǎn)運(yùn)算通常是不可重入的,因此浮點(diǎn)運(yùn)算不能用于中斷服務(wù)函數(shù)。

在滿足精度要求的前提下,浮點(diǎn)運(yùn)算可以多次擴(kuò)展為整數(shù)運(yùn)算。

3. 在中斷處理函數(shù)中使用printf函數(shù)

這個(gè)原理類似于在上面的中斷服務(wù)函數(shù)中使用浮點(diǎn)數(shù),因?yàn)閜rintf函數(shù)使用硬件資源,并且這些資源應(yīng)該是互斥的(在多線程和多處理中),這使得printf函數(shù)不可重入且不能被重入用于中斷。

此外,malloc和free等函數(shù)使用全局內(nèi)存分配表,因此它們也是不可重入的,不能在中斷中使用。

請(qǐng)注意,許多標(biāo)準(zhǔn)庫(kù)函數(shù)是不可重入的,在中斷服務(wù)函數(shù)中應(yīng)謹(jǐn)慎使用。

中斷服務(wù)功能應(yīng)簡(jiǎn)短有效。

STM32中斷函數(shù)?

EXTI0_uqchannel]表示與外部中斷線EXTI0對(duì)應(yīng)的中斷功能。

以stm32f103vb系列為例,100pin,

通常我們使用的外部中斷線對(duì)應(yīng)的IO如下:

PA0、pb0、PC0、pd0、Pe0對(duì)應(yīng)exti0中斷;

依此類推

pa15、pb15、PC15、pd15、pe15對(duì)應(yīng)exti5中斷。

exti0的相應(yīng)中斷函數(shù)為exti0irqchannel]exti1的相應(yīng)中斷函數(shù)為exti1irqchannel]exti2的相應(yīng)中斷函數(shù)為exti2irqchannel]exti3的相應(yīng)中斷函數(shù)為exti3irqchannel]exti4的相應(yīng)中斷函數(shù)為exti4exti5-> exti9對(duì)應(yīng)的中斷函數(shù)是exti9u5Irqhandler

exti10-> exti15對(duì)應(yīng)的中斷函數(shù)是exti15u10Irqhandler

如果使用哪種類型的中斷,初始化哪種類型的中斷,然后在中斷函數(shù)中寫入要實(shí)現(xiàn)的內(nèi)容。

注意中斷功能不太容易。

網(wǎng)上有很多基本的例子,比如按鍵程序,鬧鐘中斷,你可以去看看。