一:實(shí)驗(yàn)現(xiàn)象 程序?qū)崿F(xiàn)在樹莓派上通過中斷的方式檢測按鍵是否按下,如果按鍵按下的話,,會打印出按鍵按下的提示信息 二:操作步驟 1,初始化wiringPi庫,; 2,設(shè)置按鍵引腳為輸入模式; 3,設(shè)置引腳為上拉模式(即:當(dāng)按鍵沒有被按下時,該輸入腳為高電平; 4,注冊中斷程序,并且設(shè)置中斷的觸發(fā)方式; 5,判斷中斷標(biāo)志位,,檢測按鍵是否按下,,清空標(biāo)志位,方便下次檢測,。 #include <wiringPi.h> #include <stdio.h>#include <stdlib.h> int flag=0; //按鍵服務(wù)函數(shù) void myInterruptService(){ flag=1; } int main() { if(wiringPiSetup()<0) //初始化wiringPi庫 { printf("can't init wiringPi\n"); //初始化失敗時,,打印出提示信息,并且推出 return -1; } printf("test interrput\n"); //打印提示信息 pinMode(0,INPUT); //引腳0為輸入模式 pullUpDnControl(0,PUD_UP); //設(shè)置0號引腳上拉 //注冊中斷程序 if(wiringPiISR(0,INT_EDGE_FALLING,&myInterruptService)<0) //設(shè)置引腳下降沿觸發(fā) { printf("unable ISR\n"); } // while(1) { if(flag) { while(digitalRead(0)==LOW); //檢測按鍵是否松開,,沒有松開的話,,一直等待 printf("key Press\n"); //打印提示信息 flag=0; //清空標(biāo)志位 } } return 0; } 博文索引 持續(xù)更新中。,。,。 |
|