Martin Sturm
/
Project
Diff: main.cpp
- Revision:
- 1:44f0b9d5883b
- Parent:
- 0:2fab16867d73
--- a/main.cpp Wed Nov 30 18:06:50 2011 +0000 +++ b/main.cpp Wed Dec 14 02:46:16 2011 +0000 @@ -1,10 +1,8 @@ #include <mbed.h> #include <mpr121.h> #include "strings.h" + DigitalOut led1(LED1); -DigitalOut led2(LED2); -DigitalOut led3(LED3); -DigitalOut led4(LED4); InterruptIn interrupt0(p8); //interrupt pin for touch0 InterruptIn interrupt1(p21); //interrupt for touch1 @@ -20,11 +18,8 @@ //set serial port Serial device(p13, p14); // tx, rx - -Serial pc(USBTX, USBRX); - -unsigned int key_code0; -unsigned int key_code1; + int key_code0=0; + int key_code1=0; // Key hit/release interrupt routine for touch 0 @@ -37,12 +32,9 @@ i=0; // puts key number out to LEDs for demo for (i=0; i<12; i++) { - if (((value>>i)&0x01)==1) key_code0=i+1; + if (((value>>i)&0x01)==1) key_code0+=1<<i; } - led4=key_code0 & 0x01; - led3=(key_code0>>1) & 0x01; - led2=(key_code0>>2) & 0x01; - led1=(key_code0>>3) & 0x01; + } @@ -51,67 +43,57 @@ void fallInterrupt1() { key_code1=0; - char i=0; + int i=0; int value=touch1.read(0x00); value +=touch1.read(0x01)<<8; // LED demo mod i=0; // puts key number out to LEDs for demo for (i=0; i<12; i++) { - if (((value>>i)&0x01)==1) key_code1=i+1; + if (((value>>i)&0x01)==1) key_code1+=1<<i; } - led4=key_code1 & 0x01; - led3=(key_code1>>1) & 0x01; - led2=(key_code1>>2) & 0x01; - led1=(key_code1>>3) & 0x01; + } - - - - int main() { - -pc.printf("Starting \r\n"); - +//device.printf("Starting \r\n"); -char *key_buf;//buffer for data transmit to pc via serial char frompc=0; - device.baud(9600); + device.baud(115200); interrupt0.fall(&fallInterrupt0); interrupt0.mode(PullUp); interrupt1.fall(&fallInterrupt1); interrupt1.mode(PullUp); - + + while (1) { - wait(10); - if(device.readable()) //checks if ebox sends request + + + if(device.readable()){ //checks if ebox sends request frompc=device.getc(); - pc.printf(&frompc);//writes received data to pc for testing options + - switch(device.getc())//read character and check it + switch(frompc)//read character and check it { case '0': //if character is '0' send key data from touch 0 - sprintf(key_buf,"%d",key_code0); - device.printf(key_buf); + device.printf("%04d",key_code0); break; case '1': //if character is '1' send key data from touch 1 - sprintf(key_buf,"%d",key_code1); - device.printf(key_buf); + device.printf("%04d",key_code1); break; case 'A': //case for string value - sprintf(key_buf,"%d",Strings()); - device.printf(key_buf); + device.printf("%04d",Strings()); break; default: break; } - pc.printf(key_buf);//writes received data to pc for testing options + + } } } \ No newline at end of file