Закоментируйте подробно this код. Пожалуйста.

Oreshek
Oreshek аватар
Offline
Зарегистрирован: 19.04.2020
#define CLK 3
#define DT 2

long pos = 0;
byte lastState = 0;
const int8_t increment[16] = {0, -1, 1, 0, 1, 0, 0, -1, -1, 0, 0, 1, 0, 1, -1, 0};

void setup() {
  Serial.begin(9600);
}

void loop() {
  byte state = bitRead(PIND, CLK) | (bitRead(PIND, DT) << 1);
  if (state != lastState) {
    pos += increment[state | (lastState << 2)];
    lastState = state;
    Serial.println(pos / 2);
  }
  delay(10);
}

поясните пожалуйста что здесь происходит.

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

У препода спроси.  Это ж он тебе такое задание дал

b707
Offline
Зарегистрирован: 26.05.2017

Oreshek пишет:
поясните пожалуйста что здесь происходит.

на этом форуме нет подобных специалистов :)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А сами-то Вы как думаете?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Даю наколку - энкодер.