卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

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

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

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

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

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

但是,請注意,如果要檢測的其他函數(shù)的全局變量值在中斷服務(wù)函數(shù)中發(fā)生更改,則volatile關(guān)鍵字將用于定義全局變量。因為主程序可能會將變量讀入寄存器,然后每次只使用寄存器中的變量副本。如果此時不使用volatile關(guān)鍵字,則在中斷服務(wù)函數(shù)中修改變量的操作將被短路。

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

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

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

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

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

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

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

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

STM32中斷函數(shù)?

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

以stm32f103vb系列為例,100pin,

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

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

依此類推

pa15、pb15、PC15、pd15、pe15對應(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對應(yīng)的中斷函數(shù)是exti9u5Irqhandler

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

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

注意中斷功能不太容易。

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