遙控器中斷

2021-10-04 03:03:31 字數 1670 閱讀 9738

我們以4.9.44版本核心的ir遙控器為例。
使用cat /proc/interrupts命令

其中橫向,第一列是中斷號,第二列是各中斷在cpu中發生的次數,gicv2 是中斷控制器的名稱,第三列也是中斷邏輯號,第四列是驅動註冊的中斷名稱。例如:中斷號 130 對應的就是遙控器的中斷。

vendor\mstar\kernel\linaro\mstar2\drv\ir_mirc\mstar_ir.c中,會註冊

註冊中斷函式。

其中引數,如下:

int_num_ir_all 就是中斷號

檔案mstar2\hal\m7221\ir\mhal_ir_reg.h

#define int_num_ir_all (e_fiqexpl_ir_in)
檔案star2\hal\m7221\cpu\arm64\chip_int.h

e_fiqexpl_ir_in                     = e_fiqexpl_start + 2,  //fiq34
為平台的第34個中斷,而對應的值是130。

中斷flag的含義:

_mdrv_ir_isr 就是中斷函式,「ir」 就是中斷名稱。

系統還會為每個中斷建立以編號命名的子目錄。在/proc/irq/目錄下,

# pwd

/proc/irq/130

# ls

ir affinity_hint irq node smp_affinity smp_affinity_list spurious

smp_affinity irq和cpu之間的親緣繫結關係;

smp_affinity_hint 唯讀條目,用於使用者空間做irq平衡只用;

spurious 可以獲得該irq被處理和未被處理的次數的統計資訊;

handler_name 驅動程式註冊該irq時傳入的處理程式的名字;

按下遙控器,前後分別檢視對應中斷資訊

# cat /proc/interrupts |grep 130                       

130: 24 0 0 0 gicv2 130 level ir

# cat /proc/interrupts |grep 130

130: 26 0 0 0 gicv2 130 level ir

發現在cpu0 響應了兩次,分別是遙控器的down,up事件。

遙控器控制互動

最近做到的空調面板調節溫度問題,大概是要通過面板的上下鍵控制溫度,溫度由兩位數字組成,要分別載入十位和個位上的數,不知道為什麼總覺得自己很思維定勢,不夠開闊,想法很單一,總想不到最便捷的方法,直到主程提醒又恍然大悟,我也總在思索 為什麼自己想不到,大概思路就是,定義乙個變數temp,個位除以10取餘...

神奇的遙控器

看完美國的 神奇遙控器 後,感慨多多。看完後,我知道人生在於分分秒秒的經歷,每經歷過一些,我們都能得到一些精彩,無論是痛苦還是快樂,有時覺得經歷一段人生低潮是很有必要的,痛苦的時刻也會給人帶來特殊的體驗。看完後,我開始想起家人,想著日日夜夜掛念我的爸媽,想著我的哥哥,姐姐和弟弟。家人需要的不是給他們...

egreat a5 遙控器 AK82無線遙控器

複製鏈結 首頁 周邊配件 ak82無線遙控器 259.00 758人已經購買了此商品。分類 周邊配件 其他資訊 2 全部按鍵採用白色led背光燈設計,在燈光偏暗的觀影場景下,功能按鍵名稱依然清晰可見,操控自如,實在是影音愛好期盼已久的一只好遙控器!4 使用簡單 方便直觀,由數名十年以上發燒友參與定製...