C++ kütüphanesi olarak WiringPi kullanıyorum, gayet memnunum.
Aşağıdaki adresten WiringPi kurulumunu Plan A'da gösterilen şekilde yapabilirsiniz.
http://wiringpi.com/download-and-install/
Daha sonra küçük bir C++ uygulaması yazarak ilgili io pin ile tetiklenen bir interrupt oluşturmak gerekecek.
Aşağıdaki örneği sitedeki örneği değiştirerek oluşturdum. Bu dosyayı buton.c olarak kaydedelim. (Kontrol etme imkanım olmadı ama çalışması lazım)
Kod WiringPi'ye göre 0.pin için geçerlidir. wiringPiISR metodundaki ilk parametre ile bunu kontrol edebilirsiniz.
Kod:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <wiringPi.h>
void myInterrupt (void)
{
std::cout<<"Butona basıldı"<<std::endl;
}
int main (void)
{
wiringPiSetup () ;
wiringPiISR (0, INT_EDGE_FALLING, &myInterrupt) ;
for (;;)
{
}
return 0;
}
Yukarıdaki kodu aşağıdaki komut satırılı ile derleyip, çalıştırabilirsiniz.
Kod:
gcc -Wall -o buton buton.c -lwiringPi
sudo ./buton
Bir butona basıldığında (yalnız falling edge yani pin 0'a düşerken interrupt tetiklenecektir) myInterrupt metodu çalıştırılacaktır.