// cc isr.c -lwiringPi -lpthread
#include <wiringPi.h>
#include <stdio.h>
#define pin_22 6
// pin#22(PA2)
#define pin_26 11 //
pin#26(PA21)
#define pin_28 31 //
pin#28(PA18)
void int_falling(void){
printf("%s\n",__func__);
}
void int_rising(void){
printf("%s\n",__func__);
}
void int_both(void){
printf("%s\n",__func__);
}
int main(void){
printf("pi interrupt test start !!\n");
if (wiringPiSetup() == -1){
printf("wiringPiSetup init error\n");
return(1);
}
pinMode(pin_22, INPUT);
pinMode(pin_26, INPUT);
pinMode(pin_28, INPUT);
wiringPiISR(pin_22,INT_EDGE_FALLING,
&int_falling );
wiringPiISR(pin_26,INT_EDGE_RISING, &int_rising
);
wiringPiISR(pin_28,INT_EDGE_BOTH, &int_both );
while(1){
}
return 0;
} |