testtest
Diff: main.cpp
- Revision:
- 0:081a0007e5b3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Dec 01 08:25:22 2014 +0000 @@ -0,0 +1,60 @@ +#include "mbed.h" +#include "QEI.h" +#define ROTATE_PER_REVOLUTIONS 48 +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); +Ticker timer1; +Ticker timer2; +Serial pc(USBTX, USBRX); // tx, rx pc hyper terminal +QEI wheel1(D1,D0,NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING); +int buf,cfd,predata,pulse1,pulse2; + +void disp() { + /*lcd.locate(0,0); + lcd.printf("ec1:%03d ec2:%03d\n", pulse1,pulse2); + lcd.locate(0,1); + lcd.printf("cfd:%03d\n", cfd); */ + printf("encoder1: %02d\n\r", pulse1); + printf("encoder2: %02d\n\r", pulse2); + printf("cfd:%03d\n\r", cfd); + led2=!led2; //check + } +void encoder() { + pulse1 = wheel1.getPulses()/4; + //pulse2 = wheel2.getPulses()/4; + led4=!led4; //check +} + int main() + { + timer1.attach_us(&disp, 50000); //100ms + timer2.attach_us(&encoder,10); //10ms + printf("Opt Feder X1"); + while(1) + { + led3=!led3;//check + if(pc.readable()) { + buf = pc.getc(); + if(buf == 127) + { //to aboid freeze issue at 127 not fixed. + buf =pc.getc(); + } + cfd = buf; + if(buf != predata) + { + if(buf >= 3) + { + led1 = 1; + } + else{ + led1 =0; + } + //cfd = buf; + predata = buf; + + }//if(x1 != predata) + + }//if(device.readable()) + } + } \ No newline at end of file