testtest

Dependencies:   QEI mbed-src

Committer:
kikoaac
Date:
Mon Dec 01 08:25:22 2014 +0000
Revision:
0:081a0007e5b3
test QEI;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kikoaac 0:081a0007e5b3 1 #include "mbed.h"
kikoaac 0:081a0007e5b3 2 #include "QEI.h"
kikoaac 0:081a0007e5b3 3 #define ROTATE_PER_REVOLUTIONS 48
kikoaac 0:081a0007e5b3 4 DigitalOut led1(LED1);
kikoaac 0:081a0007e5b3 5 DigitalOut led2(LED2);
kikoaac 0:081a0007e5b3 6 DigitalOut led3(LED3);
kikoaac 0:081a0007e5b3 7 DigitalOut led4(LED4);
kikoaac 0:081a0007e5b3 8 Ticker timer1;
kikoaac 0:081a0007e5b3 9 Ticker timer2;
kikoaac 0:081a0007e5b3 10 Serial pc(USBTX, USBRX); // tx, rx pc hyper terminal
kikoaac 0:081a0007e5b3 11 QEI wheel1(D1,D0,NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING);
kikoaac 0:081a0007e5b3 12 int buf,cfd,predata,pulse1,pulse2;
kikoaac 0:081a0007e5b3 13
kikoaac 0:081a0007e5b3 14 void disp() {
kikoaac 0:081a0007e5b3 15 /*lcd.locate(0,0);
kikoaac 0:081a0007e5b3 16 lcd.printf("ec1:%03d ec2:%03d\n", pulse1,pulse2);
kikoaac 0:081a0007e5b3 17 lcd.locate(0,1);
kikoaac 0:081a0007e5b3 18 lcd.printf("cfd:%03d\n", cfd); */
kikoaac 0:081a0007e5b3 19 printf("encoder1: %02d\n\r", pulse1);
kikoaac 0:081a0007e5b3 20 printf("encoder2: %02d\n\r", pulse2);
kikoaac 0:081a0007e5b3 21 printf("cfd:%03d\n\r", cfd);
kikoaac 0:081a0007e5b3 22 led2=!led2; //check
kikoaac 0:081a0007e5b3 23 }
kikoaac 0:081a0007e5b3 24 void encoder() {
kikoaac 0:081a0007e5b3 25 pulse1 = wheel1.getPulses()/4;
kikoaac 0:081a0007e5b3 26 //pulse2 = wheel2.getPulses()/4;
kikoaac 0:081a0007e5b3 27 led4=!led4; //check
kikoaac 0:081a0007e5b3 28 }
kikoaac 0:081a0007e5b3 29 int main()
kikoaac 0:081a0007e5b3 30 {
kikoaac 0:081a0007e5b3 31 timer1.attach_us(&disp, 50000); //100ms
kikoaac 0:081a0007e5b3 32 timer2.attach_us(&encoder,10); //10ms
kikoaac 0:081a0007e5b3 33 printf("Opt Feder X1");
kikoaac 0:081a0007e5b3 34 while(1)
kikoaac 0:081a0007e5b3 35 {
kikoaac 0:081a0007e5b3 36 led3=!led3;//check
kikoaac 0:081a0007e5b3 37 if(pc.readable()) {
kikoaac 0:081a0007e5b3 38 buf = pc.getc();
kikoaac 0:081a0007e5b3 39 if(buf == 127)
kikoaac 0:081a0007e5b3 40 { //to aboid freeze issue at 127 not fixed.
kikoaac 0:081a0007e5b3 41 buf =pc.getc();
kikoaac 0:081a0007e5b3 42 }
kikoaac 0:081a0007e5b3 43 cfd = buf;
kikoaac 0:081a0007e5b3 44 if(buf != predata)
kikoaac 0:081a0007e5b3 45 {
kikoaac 0:081a0007e5b3 46 if(buf >= 3)
kikoaac 0:081a0007e5b3 47 {
kikoaac 0:081a0007e5b3 48 led1 = 1;
kikoaac 0:081a0007e5b3 49 }
kikoaac 0:081a0007e5b3 50 else{
kikoaac 0:081a0007e5b3 51 led1 =0;
kikoaac 0:081a0007e5b3 52 }
kikoaac 0:081a0007e5b3 53 //cfd = buf;
kikoaac 0:081a0007e5b3 54 predata = buf;
kikoaac 0:081a0007e5b3 55
kikoaac 0:081a0007e5b3 56 }//if(x1 != predata)
kikoaac 0:081a0007e5b3 57
kikoaac 0:081a0007e5b3 58 }//if(device.readable())
kikoaac 0:081a0007e5b3 59 }
kikoaac 0:081a0007e5b3 60 }