#include #include #include #include #define PERIOD 20000 #define STEP 20 #define PAUSE 300000 struct timespec tim; void Delay(int microsec) { tim.tv_sec = 0; tim.tv_nsec = microsec * 1000; while(nanosleep(&tim,&tim)==-1) continue; } int main (void) { int time; int i; // check wiringPi setup if (wiringPiSetup() == -1) { printf("wiringPi-Error\n"); exit(1); } pinMode(1, OUTPUT); for(;;) { for(time=500;time<2500;time=time+STEP) { printf("%d ms\n", time);fflush(0); for(i=0;i<10;i++) { digitalWrite(1,HIGH); Delay(time); digitalWrite(1,LOW); Delay(PERIOD-time); } Delay(PAUSE); } } }