示例#1
0
void
OutputPin::write(uint8_t value, OutputPin& clk, Direction order)
{
    uint8_t bits = CHARBITS;
    if (order == MSB_FIRST) {
        synchronized do {
            _write(value & 0x80);
            clk._toggle();
            value <<= 1;
            clk._toggle();
        } while (--bits);
    }
示例#2
0
void
OutputPin::write(uint8_t value, OutputPin& clk, Direction order) const
{
  uint8_t bits = CHARBITS;
  if (order == MSB_FIRST) {
    do {
      _write(value & 0x80);
      clk._toggle();
      value <<= 1;
      clk._toggle();
    } while (--bits);
  }
  else {
    do {
      _write(value & 0x01);
      clk._toggle();
      value >>= 1;
      clk._toggle();
    } while (--bits);
  }
}