testtest
main.cpp
- Committer:
- kikoaac
- Date:
- 2014-12-01
- Revision:
- 0:081a0007e5b3
File content as of revision 0:081a0007e5b3:
#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())
}
}