
QEI_X1_LCD_test3
Dependencies: QEI TextLCD USBDevice mbed
Revision 0:b32c7162cd9a, committed 2014-08-29
- Comitter:
- toucyy
- Date:
- Fri Aug 29 07:10:48 2014 +0000
- Commit message:
- test
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QEI.lib Fri Aug 29 07:10:48 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/toucyy/code/QEI/#ba892225df71
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Fri Aug 29 07:10:48 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/TextLCD/#e4cb7ddee0d3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/USBDevice.lib Fri Aug 29 07:10:48 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/toucyy/code/USBDevice/#2d8d0b73e1ff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Aug 29 07:10:48 2014 +0000 @@ -0,0 +1,73 @@ +#include "mbed.h" +#include "TextLCD.h" +#include "QEI.h" +#include "USBSerial.h" +#define ROTATE_PER_REVOLUTIONS 48 + +Ticker timer1; +Ticker timer2; +Serial pc(USBTX, USBRX); // tx, rx pc hyper terminal +Serial device(p9, p10); // tx, rx for opt fader xq +TextLCD lcd(p24, p26, p27, p28, p29, p30); // rs, e, d4-d7 lcd +QEI wheel1(p16, p17, NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING); //encoder +QEI wheel2(p21, p22, NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING); //encoder +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); +//BusOut myleds(LED1, LED2, LED3, LED4); + +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); + //pc.printf("encoder1: %02d\n\r", pulse1); + //pc.printf("encoder2: %02d\n\r", pulse2); + //pc.printf("cfd:%03d\n\r", cfd); + led2=!led2; //check + } + + void encoder() { + pulse1 = wheel1.getPulses()/4; + pulse2 = wheel2.getPulses()/4; + led4=!led4; //check + } + +int main() { + device.format(7, Serial::None, 1); + device.baud(30400); + //pc.baud(921600); + pc.printf("Opt Feder X1"); + lcd.printf("Opt Feder X1"); + wait(1); + timer1.attach_us(&disp, 50000); //100ms + timer2.attach_us(&encoder,10); //10ms + while(1) { + led3=!led3;//check + if(device.readable()) { + buf = device.getc(); + if(buf == 127) + { //to aboid freeze issue at 127 not fixed. + buf = device.getc(); + } + cfd = buf; + if(buf != predata) + { + if(buf >= 3) + { + led1 = 1; + } + else{ + led1 =0; + } + //cfd = buf; + predata = buf; + + }//if(x1 != predata) + + }//if(device.readable()) + }//while(1) +}//main \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Aug 29 07:10:48 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e