moonki123 Posted June 1, 2017 Share Posted June 1, 2017 Hi i wonder why ISR result is strange first i test in orangepi zero Plus H5 that result is repeated infinite recall function summary - recall infinite function if i input interrupt pin(button) i test result repeat second i test in orangepi zero(H2) that result is only called function once #include <wiringPi.h> #include <stdlib.h> #include <stdio.h> #include <unistd.h> void signal_both(void){ printf("Signal Both\n"); }void signal_falling(void){ printf("Signal Falling\n"); }void signal_rising(void){ printf("Signal Rising\n"); }int main(int argc, char **argv){ int mode=INT_EDGE_BOTH; int pin = 0; if(wiringPiSetup() == -1) { printf("wiringPiSetup Error\n"); } if (argc == 2) { mode = atoi(argv[1]); } if (argc == 3) { mode = atoi(argv[1]); pin = atoi(argv[2]); } pinMode(pin,INPUT); printf("pin=%d\n",pin); if ( mode == INT_EDGE_BOTH) { printf("INT_EDGE_BOTH\n"); wiringPiISR(pin, INT_EDGE_BOTH, signal_both ); } else if ( mode == INT_EDGE_FALLING) { printf("INT_EDGE_FALLING\n"); wiringPiISR(pin, INT_EDGE_FALLING, signal_falling ); } else if ( mode == INT_EDGE_RISING) { printf("INT_EDGE_RISING\n"); wiringPiISR(pin, INT_EDGE_RISING, signal_rising ); } while(1) { sleep(10000); } return 0; } can you explain why result is different? code is same in Orange Pi Zero and Orange Pi Zero Plus H5 Link to comment Share on other sites More sharing options...
Recommended Posts