一、以計步器為例
平台: androidn,mtk6737
晶元: qma6981
1. 檢視硬體連線或excel**,確定中斷腳 :gpio60
2. 配置dws:
gpio60: m0 def.dir:in in gpio_gse_1_eint_pin
eint60: gse_1 debounce:0 polarity:low sensitive_level:level debounceen:disable
3. 修改dts新增中斷控制引腳
/* sensor gpio standization */
+ &pio ;
+ };
+ + qma6981_pins_default: eintdefault ;
alsps_intpin_cfg: alspspincfg ;
&alsps ;
/*qma6981 interrupt setting (dummy nodes)*/
gse_1: gse_1 ;
二、 中斷除錯
1. 檢視中斷
-- 檢視中斷是否註冊成功
cat /proc/interrupts
cpu0 cpu1
...196: 0 gic 196 mtk-kpd
298: 0 mt-eint 10 touch_panel-eint
2. 檢視pin腳模式
cat /sys/class/misc/mtgpio/pin
pin:mode,pull_sel,din,dout,pull en,dir,ies,smt
0: 1 1 1 0 1 0 1 0
1: 0 0 0 0 1 0 1 0
【dir】0 - in 1 - out
中斷方向因為in,如果檢視反向不對,說明在別的地方被修改了
寫值echo \"-w=99:0 1 0 0 0 0 0 1\" > /sys/class/misc/mygpio/pin
3. 檢查dts與dtsi 看中段的gpio口是否被復用了
x86中斷(一) 中斷分類
一 中斷分類 x86系統支援256個中斷源,每個中斷源使用0 255數字標識,該標識稱作中斷向量號 即cpu中斷源的中斷號,要與外部中斷的中斷號irq n相區別 cpu通過獲取中斷向量號識別中斷源。256個中斷源可以分為 其中 1 內部中斷 由cpu內部事件及執行軟中斷指令產生,由除法中斷 溢位中斷...
6 中斷系統
外部中斷0實驗 include reg52.h 此檔案中定義了微控制器的一些特殊功能暫存器 typedef unsigned int u16 對資料型別進行宣告定義 typedef unsigned char u8 sbit k3 p3 2 定義按鍵k3 sbit led p2 0 定義p20口是l...
029 中斷註冊
按鍵按下 產生了中斷 跳轉到異常向量入口,執行中斷函式。中斷函式要做的工作 1 保護現場 2 執行中斷處理函式 3 恢復現場 request irq unsigned int irq,irq handler t handler,unsigned long flags,const char name,...