MCPcopy Create free account
hub / github.com/RobTillaart/Arduino / write

Method write

libraries/shiftOutSlow/ShiftOutSlow.cpp:26–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24
25
26size_t ShiftOutSlow::write(const uint8_t data)
27{
28 uint8_t val = data;
29 uint16_t d1 = _delay/2;
30 uint16_t d2 = _delay - d1;
31 for (uint8_t i = 0; i < 8; ++i)
32 {
33 if (d1) delayMicroseconds(d1);
34 if (_bitOrder == LSBFIRST) {
35 digitalWrite(_dataPin, val & 0x01);
36 val >>= 1;
37 } else {
38 digitalWrite(_dataPin, (val & 0x80) != 0);
39 val <<= 1;
40 }
41 digitalWrite(_clockPin, HIGH);
42 if (d2) delayMicroseconds(d2);
43 yield();
44 digitalWrite(_clockPin, LOW);
45 }
46 _value = data;
47 return 1;
48}
49
50
51size_t ShiftOutSlow::write(const uint8_t *buffer, size_t size)

Callers 1

unittestFunction · 0.45

Calls

no outgoing calls

Tested by 1

unittestFunction · 0.36