mirror of
https://github.com/JeffersGlass/DDS_VFO.git
synced 2024-11-27 10:47:36 -06:00
47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
|
/* Encoder Library - NoInterrupts Example
|
||
|
* http://www.pjrc.com/teensy/td_libs_Encoder.html
|
||
|
*
|
||
|
* This example code is in the public domain.
|
||
|
*/
|
||
|
|
||
|
// If you define ENCODER_DO_NOT_USE_INTERRUPTS *before* including
|
||
|
// Encoder, the library will never use interrupts. This is mainly
|
||
|
// useful to reduce the size of the library when you are using it
|
||
|
// with pins that do not support interrupts. Without interrupts,
|
||
|
// your program must call the read() function rapidly, or risk
|
||
|
// missing changes in position.
|
||
|
#define ENCODER_DO_NOT_USE_INTERRUPTS
|
||
|
#include <Encoder.h>
|
||
|
|
||
|
// Beware of Serial.print() speed. Without interrupts, if you
|
||
|
// transmit too much data with Serial.print() it can slow your
|
||
|
// reading from Encoder. Arduino 1.0 has improved transmit code.
|
||
|
// Using the fastest baud rate also helps. Teensy has USB packet
|
||
|
// buffering. But all boards can experience problems if you print
|
||
|
// too much and fill up buffers.
|
||
|
|
||
|
// Change these two numbers to the pins connected to your encoder.
|
||
|
// With ENCODER_DO_NOT_USE_INTERRUPTS, no interrupts are ever
|
||
|
// used, even if the pin has interrupt capability
|
||
|
Encoder myEnc(5, 6);
|
||
|
// avoid using pins with LEDs attached
|
||
|
|
||
|
void setup() {
|
||
|
Serial.begin(9600);
|
||
|
Serial.println("Basic NoInterrupts Test:");
|
||
|
}
|
||
|
|
||
|
long position = -999;
|
||
|
|
||
|
void loop() {
|
||
|
long newPos = myEnc.read();
|
||
|
if (newPos != position) {
|
||
|
position = newPos;
|
||
|
Serial.println(position);
|
||
|
}
|
||
|
// With any substantial delay added, Encoder can only track
|
||
|
// very slow motion. You may uncomment this line to see
|
||
|
// how badly a delay affects your encoder.
|
||
|
//delay(50);
|
||
|
}
|