1.原型
int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,const char *name, void *dev);
2.頭文件
linux/interrupt.h
3.功能
註冊中斷服務函數
4.參數
參數 | 描述 |
---|---|
irq | 中斷號,所申請的中斷向量 |
handler | 函數指針,向系統登記的中斷處理函數,是一個回調函數,當中斷髮生時,系統調用這個函數 |
flags | 指定中斷屬性、中斷觸發方式(一般用宏定義表示)等,定義在linux/interrupt.h中 |
name | 指定中斷名字,用命令cat /proc/interrupts可查看系統中斷申請與使用情況 |
dev | 傳入中斷處理程序的參數,可以爲NULL,但在註冊共享中斷時,此參數不能爲NULL。該參數可作爲共享中斷時的中斷區別參數,還可以把其傳給一個結構體變量,用於保存一個設備的信息,使中斷處理函數可以獲得該設備的信息 |
5.返回值
函數運行正常時返回0,否則返回對應錯誤的負值。