/
nicodim4
/
EncButton
Обзор
Документация
Войти
/
nicodim4
/
EncButton
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.0
examples/callbackMode/callbackMode.ino
91 строка
2 KB
Alex
upd
11 апр 2022, 22:53
11 апр 2022, 22:53
773a744
Код
Авторство
О чём код?
// Пример с обработчиками #include <EncButton.h> EncButton<EB_CALLBACK, 2, 3, 4> enc; // энкодер с кнопкой <A, B, KEY> //EncButton<EB_CALLBACK, 2, 3> enc; // просто энкодер <A, B> //EncButton<EB_CALLBACK, 4> enc; // просто кнопка <KEY> void setup() { Serial.begin(9600); enc.attach(TURN_HANDLER, myTurn); enc.attach(TURN_H_HANDLER, myTurnH); enc.attach(RIGHT_HANDLER, myRight); enc.attach(LEFT_HANDLER, myLeft); enc.attach(RIGHT_H_HANDLER, myRightH); enc.attach(LEFT_H_HANDLER, myLeftH); enc.attach(CLICK_HANDLER, myClick); enc.attach(HOLDED_HANDLER, myHolded); enc.attach(STEP_HANDLER, myStep); enc.attach(PRESS_HANDLER, myPress); enc.attach(RELEASE_HANDLER, myRelease); //enc.attach(HOLD_HANDLER, myHold); enc.attach(CLICKS_HANDLER, myClicks); enc.attachClicks(5, fiveClicks); } void myTurn() { Serial.println("TURN_HANDLER: "); // тут можно: Serial.println(enc.counter); // вывести счётчик //Serial.println(enc.fast()); // проверить быстрый поворот //Serial.println(enc.dir()); // направление поворота } void myTurnH() { Serial.println("TURN_H_HANDLER"); // тут можно: //Serial.println(enc.counter); // вывести счётчик //Serial.println(enc.fast()); // проверить быстрый поворот Serial.println(enc.dir()); // направление поворота } void myRight() { Serial.println("RIGHT_HANDLER"); } void myLeft() { Serial.println("LEFT_HANDLER"); } void myRightH() { Serial.println("RIGHT_H_HANDLER"); } void myLeftH() { Serial.println("LEFT_H_HANDLER"); } void myClick() { Serial.println("CLICK_HANDLER"); } void myHolded() { Serial.println("HOLDED_HANDLER"); } void myStep() { Serial.println("STEP_HANDLER"); } void myClicks() { Serial.print("CLICKS_HANDLER: "); Serial.println(enc.clicks); } void fiveClicks() { Serial.println("action fiveClicks"); } void myPress() { Serial.println("PRESS_HANDLER"); } void myRelease() { Serial.println("RELEASE_HANDLER"); } void myHold() { Serial.println("HOLD_HANDLER"); } // =============== LOOP ============= void loop() { enc.tick(); // обработка всё равно здесь }