MCPcopy Create free account
hub / github.com/WiringPi/WiringPi / DurationTime

Function DurationTime

examples/isr3.c:85–118  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

83
84
85double DurationTime(int Enge, int OUTpin, int IRQpin) {
86 struct timeval now;
87 double fTime = 0.0;
88
89 gStartTime = 0;
90 gEndTime = 0;
91 globalCounter = 0;
92 printf("Start\n");
93
94 if (INT_EDGE_RISING == Enge) {
95 digitalWrite(OUTpin, LOW);
96 wiringPiISR (IRQpin, INT_EDGE_RISING, &wfi) ;
97 sleep(1);
98 gettimeofday(&now, 0);
99 gStartTime = now.tv_sec*1000000LL + now.tv_usec;
100 digitalWrite(OUTpin, HIGH);
101 delay(20);
102 digitalWrite(OUTpin, LOW);
103 } else if (INT_EDGE_FALLING == Enge) {
104 digitalWrite(OUTpin, HIGH);
105 wiringPiISR (IRQpin, INT_EDGE_FALLING, &wfi) ;
106 sleep(1);
107 gettimeofday(&now, 0);
108 gStartTime = now.tv_sec*1000000LL + now.tv_usec;
109 digitalWrite(OUTpin, LOW);
110 }
111
112 sleep(1);
113 fTime = (gEndTime - gStartTime);
114 printf("IRQ detect time %g usec\n\n", fTime);
115 wiringPiISRStop (IRQpin) ;
116
117 return fTime;
118}
119
120int main (void)
121{

Callers 1

mainFunction · 0.70

Calls 4

digitalWriteFunction · 0.85
wiringPiISRFunction · 0.85
wiringPiISRStopFunction · 0.85
delayFunction · 0.50

Tested by

no test coverage detected