嵌入式系统第六章S3C2410A的基本接口应用程序设计讲述.ppt
文本预览下载声明
hudelay(20); } if(i40) {//在规定的双击时间之内抬起,检测是不是及时按下 for(i=0;i60;i++) { if(!(rADCDAT0(115))) { SUBSRCPND|=(19);//中断复位处理 if (i10) {i=60;break; }//如果单击后很短时间内按下,不视为双击 mode=TCHSCR_ACTION_DBCLICK;//mode=双击 for(j=0;j40;j++) hudelay(50);//检测到双击后延时,防止拖尾 break; } hudelay(20); } if(i==60) //没有在规定的时间内按下,视为单击 mode=TCHSCR_ACTION_CLICK;//mode=单击 } else{//没有在规定的时间内抬起,视为按下 mode=TCHSCR_ACTION_DOWN;//mode=按下 } break; } } else{ TchScr_GetScrXY(x, y);//得到触摸点坐标 if(rADCDAT0(115)){ //抬起 mode=TCHSCR_ACTION_UP;//mode=抬起 break; } else{ if(ABS(oldx-*x)30 ||ABS(oldy-*y)30){//有移动动作 mode=TCHSCR_ACTION_MOVE;//mode=移动 break; } } } hudelay(10);//延时 } oldx=*x; oldy=*y; return mode;//函数返回值为mode } void TchScr_Test() { U32 mode; int x,y; Uart_Printf(0,\n请触摸屏幕(注意:动作要轻!)\n); for(;;){ mode=TchScr_GetOSXY(x, y);//取动作模式 switch(mode){ case TCHSCR_ACTION_CLICK: Uart_Printf(0,单击动作:x坐标=%d,\ty坐标=%d\n,x,y); break; case TCHSCR_ACTION_DBCLICK: Uart_Printf(0,双击动作:x坐标=%d,\ty坐标=%d\n,x,y); break; case TCHSCR_ACTION_DOWN: Uart_Printf(0,按下动作:x=坐标%d,\ty坐标=%d\n,x,y); break; case TCHSCR_ACTION_UP: Uart_Printf(0,抬起动作:x坐标=%d,\ty坐标=%d\n,x,y); break; case TCHSCR_ACTION_MOVE: Uart_Printf(0,移动动作:x坐标=%d,\ty坐标=%d\n,x,y); break; } hudelay(1000);//延时 } } /* Main function. */ int main(void) { ARMTargetInit(); //调目标板初始化函数 TchScr_init();//调触摸屏初始化函数 TchScr_Test();//调触摸屏测试函数 } 6.5 SPI接口 SPI(Serial Peripheral Interface)串行外围设备接口 SPI是Motorola公司推出的一种同步串行通讯方式 SPI概述: 1、高速同步串行口。3~4线接口,收发独立、可同步进行. 2、该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电
显示全部