英飛凌TC264之外部中斷

2021-10-17 15:26:48 字數 1592 閱讀 7783

一.外部中斷說明:

1.256個向量第乙個也就是第0號的中斷向量無效.僅用來佔位置.所以一共有255個向量,但是要占用256個向量的位置

2.向量表以優先級別排序數字越小優先級別越低,與arm,k60相反

3每個向量32 byte,也就是8個word.如果中斷handler非常短,可以直接放在這32byte的空間.一般是放跳轉指令跳轉到真正的中斷handler.(tricore 1.6的中斷向量可以選擇32還是8 byte, tricore 1.3不能選擇,只能32 byte).

4.如果中斷handle超過了32byte也放在向量表,顯然後面的向量會被覆蓋.如果被覆蓋的向量是空的無問題.如果非空出現問題由程式設計師負責編譯工具不檢查這點!

5.發生中斷後硬體自動儲存upper csa.如需儲存lowercsa.需由程式設計師自己寫指令來儲存與恢復.

6.有4個中斷向量留給軟體.只能軟體觸發.方便rtos設計,如上幾篇貼子寫的freertos就是利用了其中乙個軟體中斷來實現延遲中斷進行任務排程的效果.

7.中斷不一定由cpu來響應對於tc1782,.還可能是由pcp來響應對於多核的器件還可由其它核來響應.某些中斷必須由某個特定的中斷master(cpu或者pcp)來響

二.如何開啟外部中斷

也就是說只能開啟4個外部中斷,且每組內不能重複。

gpio外部中斷配置:

/* gpio外部中斷   中斷服務函式  中斷號(cpu0,cpu1,dma)  優先順序*/

ifx_interrupt

(pin_int0_irqhandler, pin_int0_vectabnum, pin_int0_priority)

;ifx_interrupt

(pin_int1_irqhandler, pin_int1_vectabnum, pin_int1_priority)

;ifx_interrupt

(pin_int2_irqhandler, pin_int2_vectabnum, pin_int2_priority)

;ifx_interrupt

(pin_int3_irqhandler, pin_int3_vectabnum, pin_int3_priority)

;

中斷服務函式隨便寫

中斷號裡要選擇用cpu0,cpu1,dma的其中乙個

優先順序也要配置好1-255 數字越大優先順序越高

中斷服務函式:

void

pin_int0_irqhandler

(void

)

初始化外部中斷函式:

// 	*  引數說明:pin      : 管腳標號    lq_gpio.h中定義

// mode : gpio 模式 lq_gpio.h中的巨集定義中選擇*

void

pin_exti

(gpio_name_t pin, ifxport_inputmode mode)

完成這些就可以開啟外部中斷

英飛凌TC264之定時器

定時器stm中斷 配置定時器中斷 gpio外部中斷 中斷服務函式 中斷號 cpu0,cpu1,dma 優先順序 ifx interrupt stm0 ch0 irqhandler,stm0 vectabnum,stm0 ch0 priority ifx interrupt stm0 ch1 irqh...

STM32之外部中斷

首先配置外部中斷的輸入引腳和中斷源 void lcr config void 選了gpio8作為中斷輸入,中斷源為exti line8 中斷服務函式由於啟動函式定義 export exti9 5 irqhandler weak 故在檔案stm32f10x it.c m3為例 中定義了各類中斷服務函式...

stm32之外部中斷

外部中斷 事件控制器包含多達 19 個用於產生事件 中斷請求的邊沿檢測器。每根輸入線都可單獨進行配置,以選擇型別 中斷或事件 和相應的觸發事件 上公升沿觸發 下降沿觸 發或邊沿觸發 每根輸入線還可單獨遮蔽。掛起暫存器用於保持中斷請求的狀態線。其中有16條是對應於gpio的 核心中會有乙個nvic 巢...