Вопрос по shiftOut()

Тема в разделе "Arduino & Shields", создана пользователем Tony Stark, 4 май 2013.

  1. Tony Stark

    Tony Stark Нерд

    Здравствуйте! Собственно вопрос заключается только в том что когда я подключаю выходные сдвиговые регистры в каскад как нужно писать функцию ShiftOut() чтобы 6 байтов ( а у меня 6 регистров) распределялись должным образом? Я думаю что нужно писать шесть раз команду ShiftOut(). Прав ли Я?
     
  2. Unixon

    Unixon Оракул Модератор

    Странно, что спрашиваете. Написать 6 раз ShiftOut() на порядки быстрее. :)
    А так то все верно, только на порядок бит внимание обратите.
     
    Megakoteyka нравится это.
  3. Tony Stark

    Tony Stark Нерд

    а в функции shiftln(ClockPin, LatchPin, MSBFIRST, Value) value в каком виде происходит? если чисто в цифрах то какие цифры нужны чтобы он выводил 00000001, 00000011, 00000111 ... 11111111?
     
  4. Unixon

    Unixon Оракул Модератор

    Код (Text):

    byte x = 1;
    for (char i = 7; i >=0; i--)
    {
     shiftOut(PIN_CLK, PIN_DATA, MSBFIRST, x);
     x = x<<1 + 1;
    }