11 static const int Us = 1000000;
13 static int32_t Pulsin_clk(int32_t Pin, int32_t State)
19 CTRA = (0x68800000 | Pin);
21 CTRA = (0x54800000 | Pin);
24 waitpne((State << Pin), ((1<<Pin)));
26 waitpeq((State << Pin), ((1<<Pin)));
27 waitpne((State << Pin), ((1<<Pin)));
33 unsigned long pulseIn(uint8_t pin, uint8_t state,
unsigned long timeout)
36 Duration = (((Pulsin_clk(pin, state) / Us) / 2) + 1);
40 void pulseOut(uint8_t pin,
unsigned long duration)
42 digitalWrite(pin, HIGH);
43 duration = max(duration - 20, 1);
44 delayMicroseconds(duration);
45 digitalWrite(pin, LOW);