Подскажите команду!2 день ищу((

Тема в разделе "Флудилка", создана пользователем Kub1k26, 5 мар 2016.

  1. Kub1k26

    Kub1k26 Нуб

    Ищу команду для циклического вращения(сдвига) битов, если у меня 8 бит,при сдвиге влево(вправо) не терялись биты.
     
    Последнее редактирование: 6 мар 2016
  2. ostrov

    ostrov Гуру

    Во-первых, код в тэг вот так:
    Код (C++):
    #define clock 13
    #define data 12
    #define latch 10

    void setup() {
    pinMode(clock, OUTPUT);
    pinMode(data, OUTPUT);
    pinMode(latch, OUTPUT);
    digitalWrite(latch, HIGH);
    }

    void loop() {
    digitalWrite(latch, LOW);
    shiftOut(data, clock, LSBFIRST, 0b00011100);
    digitalWrite(latch, HIGH);
    }
    Во-вторых, напишите яснее в чем проблема. Что вы сдвигаете и что теряете?
     
  3. Sindbad

    Sindbad Гик

    Почему бы не использовать что-нибудь вроде:
    Код (C++):
    X = (X>>1) | (X<<7);  //циклический сдвиг вправо на один разряд

    X = (X<<1) | (X>>7);  //циклический сдвиг влево на один разряд