ADS7843 Controller Touch

Dependencies:   TouchADS7843

Committer:
Suky
Date:
Fri Feb 04 03:09:49 2011 +0000
Revision:
0:f014c3cdbc78

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Suky 0:f014c3cdbc78 1 #include "mbed.h"
Suky 0:f014c3cdbc78 2 #include "Touch.h"
Suky 0:f014c3cdbc78 3 /* ********************************************************************** */
Suky 0:f014c3cdbc78 4 #define TOUCH_X_MIN 30
Suky 0:f014c3cdbc78 5 #define TOUCH_X_MAX 230
Suky 0:f014c3cdbc78 6 #define TOUCH_Y_MIN 15
Suky 0:f014c3cdbc78 7 #define TOUCH_Y_MAX 240
Suky 0:f014c3cdbc78 8 /* ********************************************************************** */
Suky 0:f014c3cdbc78 9 DigitalOut Led1(LED1);
Suky 0:f014c3cdbc78 10 DigitalOut Led2(LED2);
Suky 0:f014c3cdbc78 11 /* ********************************************************************** */
Suky 0:f014c3cdbc78 12 TOUCH_DATA Coordenadas;
Suky 0:f014c3cdbc78 13 volatile bool kbhit_irq=0;
Suky 0:f014c3cdbc78 14 volatile bool kbhit_tratament=0;
Suky 0:f014c3cdbc78 15
Suky 0:f014c3cdbc78 16 TouchScreenADS7843 MyTouch(p9,p10,p11,p12,p8); // ADS7843-> SDO,SDI,SCK,CS,IRQ
Suky 0:f014c3cdbc78 17 /* ********************************************************************** */
Suky 0:f014c3cdbc78 18 void vISRTouchIRQ(void){
Suky 0:f014c3cdbc78 19 UINT_COORDxy Temp;
Suky 0:f014c3cdbc78 20
Suky 0:f014c3cdbc78 21 MyTouch.vTestTouchPanel(&Coordenadas);
Suky 0:f014c3cdbc78 22 // Coordenadas dentro del rango de pantalla LCD:
Suky 0:f014c3cdbc78 23 if((Coordenadas.x>TOUCH_X_MIN && Coordenadas.x<TOUCH_X_MAX) && (Coordenadas.y>TOUCH_Y_MIN && Coordenadas.y<TOUCH_Y_MAX)){
Suky 0:f014c3cdbc78 24 // Cambio de coordenada y escala:
Suky 0:f014c3cdbc78 25 Temp=Coordenadas.y;
Suky 0:f014c3cdbc78 26 Coordenadas.y=((float)((255-TOUCH_X_MIN)-Coordenadas.x)*(320.0/(TOUCH_X_MAX-TOUCH_X_MIN)));
Suky 0:f014c3cdbc78 27 Coordenadas.x=((float)(Temp-TOUCH_Y_MIN)*(240.0/(TOUCH_Y_MAX-TOUCH_Y_MIN)));
Suky 0:f014c3cdbc78 28 kbhit_irq=1;
Suky 0:f014c3cdbc78 29 }
Suky 0:f014c3cdbc78 30 }
Suky 0:f014c3cdbc78 31
Suky 0:f014c3cdbc78 32
Suky 0:f014c3cdbc78 33 int main(){
Suky 0:f014c3cdbc78 34
Suky 0:f014c3cdbc78 35
Suky 0:f014c3cdbc78 36 MyTouch.vInitADS7843(USE_8BITS,&vISRTouchIRQ);
Suky 0:f014c3cdbc78 37
Suky 0:f014c3cdbc78 38 Led1=0;
Suky 0:f014c3cdbc78 39 Led2=0;
Suky 0:f014c3cdbc78 40
Suky 0:f014c3cdbc78 41 while(1){
Suky 0:f014c3cdbc78 42 Led2=!Led2;
Suky 0:f014c3cdbc78 43 if(kbhit_irq==1){
Suky 0:f014c3cdbc78 44 kbhit_irq=0;
Suky 0:f014c3cdbc78 45 if((Coordenadas.x<235 && Coordenadas.x>135) && (Coordenadas.y<320 && Coordenadas.y>250)){
Suky 0:f014c3cdbc78 46 Led1=!Led1;
Suky 0:f014c3cdbc78 47 }
Suky 0:f014c3cdbc78 48 }
Suky 0:f014c3cdbc78 49 wait_ms(300);
Suky 0:f014c3cdbc78 50 }
Suky 0:f014c3cdbc78 51 }