mirror of https://github.com/joan2937/pigpio
48 lines
599 B
C
48 lines
599 B
C
|
#include <stdio.h>
|
||
|
|
||
|
#include <pigpio.h>
|
||
|
|
||
|
#include "rotary_encoder.h"
|
||
|
|
||
|
/*
|
||
|
|
||
|
REQUIRES
|
||
|
|
||
|
A rotary encoder contacts A and B connected to separate gpios and
|
||
|
the common contact connected to Pi ground.
|
||
|
|
||
|
TO BUILD
|
||
|
|
||
|
gcc -o rot_enc_c test_rotary_encoder.c rotary_encoder.c -lpigpio -lrt
|
||
|
|
||
|
TO RUN
|
||
|
|
||
|
sudo ./rot_enc_c
|
||
|
|
||
|
*/
|
||
|
|
||
|
void callback(int way)
|
||
|
{
|
||
|
static int pos = 0;
|
||
|
|
||
|
pos += way;
|
||
|
|
||
|
printf("pos=%d\n", pos);
|
||
|
}
|
||
|
|
||
|
int main(int argc, char *argv[])
|
||
|
{
|
||
|
Pi_Renc_t * renc;
|
||
|
|
||
|
if (gpioInitialise() < 0) return 1;
|
||
|
|
||
|
renc = Pi_Renc(7, 8, callback);
|
||
|
|
||
|
sleep(300);
|
||
|
|
||
|
Pi_Renc_cancel(renc);
|
||
|
|
||
|
gpioTerminate();
|
||
|
}
|
||
|
|