diff --git a/README.md b/README.md index 55e3b90..f1e0b1b 100644 --- a/README.md +++ b/README.md @@ -127,11 +127,11 @@ bool tick(bool pressed = false); ``` #### uEncoderISR -Класс `uEncoder` наследует `uEncoderVirt`, отправляя данные с него в `poll` внутри `tick`. Сам опрос происходит в прерывании, буферизация на 4 щелчка. +Класс `uEncoderISR` наследует `uEncoderVirt`. Опрос происходит в прерывании внутри `tickISR`, результат складывается в буфер на 4 щелчка, а `tick` забирает из буфера по одному событию. ```cpp // указать пины и их режим работы -uEncoder(uint8_t p0, uint8_t p1, uint8_t mode = INPUT); +uEncoderISR(uint8_t p0, uint8_t p1, uint8_t mode = INPUT); // опросить энкодер bool tick(); @@ -173,17 +173,8 @@ void tickISR(); uEncButton eb(2, 3, 4); -// режим опроса энка в прерывании -// void isr() { -// eb.tickISR(); -// } - void setup() { Serial.begin(115200); - - // режим опроса энка в прерывании - // attachInterrupt(0, isr, CHANGE); - // attachInterrupt(1, isr, CHANGE); } void loop() { @@ -218,6 +209,8 @@ void loop() { } ``` +Для опроса энкодера в прерывании нужен класс `uEncButtonISR` - у него есть `tickISR`, который вешается на `attachInterrupt` по `CHANGE`. См. пример `demoISR`. + ## Версии