mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-30 11:24:12 +01:00
Waiting for pulse to start (rising or falling edge) to start timing.
This commit is contained in:
parent
542a64fac1
commit
e79b319fd1
@ -44,6 +44,11 @@ unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout)
|
|||||||
unsigned long numloops = 0;
|
unsigned long numloops = 0;
|
||||||
unsigned long maxloops = microsecondsToClockCycles(timeout) / 16;
|
unsigned long maxloops = microsecondsToClockCycles(timeout) / 16;
|
||||||
|
|
||||||
|
// wait for any previous pulse to end
|
||||||
|
while ((*portInputRegister(port) & bit) == stateMask)
|
||||||
|
if (numloops++ == maxloops)
|
||||||
|
return 0;
|
||||||
|
|
||||||
// wait for the pulse to start
|
// wait for the pulse to start
|
||||||
while ((*portInputRegister(port) & bit) != stateMask)
|
while ((*portInputRegister(port) & bit) != stateMask)
|
||||||
if (numloops++ == maxloops)
|
if (numloops++ == maxloops)
|
||||||
|
Loading…
Reference in New Issue
Block a user