#include /************************************************************************/ /* */ /* Reading rotary encoder */ /* one, two and four step encoders supported */ /* */ /* Author: Peter Dannegger */ /* target: ATmega16 */ /************************************************************************/ #include #include //#define XTAL 8e6 // 8MHz #define F_TIMER1 100 // Timer 1 frequency /Hz #define ENCODER_PIN PINC #define PHASE_A (1<>= 1; break; case 4: enc_delta = val & 3; val >>= 2; break; default: enc_delta = 0; break; } sei(); return val; // counts since last call } int32_t val = 0; //////////////////////////////////////////////////////////////////////////////// // void setup() // void setup() { Serial.begin( 9600 ); PORTC |= PHASE_A | PHASE_B; // activate internal pull up resistors LEDS_DDR = 0xFF; encode_init(); sei(); } // Ende void setup() void loop() { val += encode_read(4); // read a single step encoder Serial.print ( "val = " ); Serial.println( val, DEC ); //Serial.println( ); LEDS = val; } // Ende void loop()