资源描述:
《嵌入式实验报告触摸屏驱动实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、我试大嗲針署机考紇嵌入式系统设计实验报告题目:触摸屏驱动实验成员:一、实验题目册-个觯.罗斯方块二、实验目的综合运用ARM平台,掌握驱动程序设计方法,了解触摸屏工作原理三、实验原理因此我们采用4*4的01(一)、方块和背景的表示:>在俄罗斯方块中共有7种方块,它们都由四个小方块组成数组表示。这7种方块的图形以及对应的矩阵表示如下:1、01000100001100002、01000100001010003、4、0000000000011110000001005、000111006、7、00000000010001100010110000100000001110
2、0000101000>俄罗斯方块的背景为一个无盖的杯子,我们用一个20个短整型一维数组表示,其中数的低12位每位表示是否有方块,1为有方块,0表示没有。初始时矩阵及其表示的图形如下,其中图中申白区域为活动区域:【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【()】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【0】【0】【0【()】【0】【0【1】【1】【1最后用两个整型
3、变量(x,y)表示方块对应在背景中的位置。其中(x,y)表示方块对应4M矩阵的左上角小方块据背景左上角的横纵格子数个数,初始值为(3,0)。(二)方块的变形。方块的变形是用旋转的形式:将表示方块的4*4矩阵绕着矩阵的中心顺时针旋转90度,用得到的新矩阵表示变形后的方块。过程如下图(三)变形和下降、左右移动的可行性判断。将变形或者下降、左右移动后的方块映射到背景矩阵的相应位置,如果在背景上的对应位置不为空(即为1),那么变形或者下降、左右移动不可执行。如果是方块触底了,则将方块矩阵映射到背景矩阵相应位置,使其变为背景的一部分。(四)消行。当某一行全部被方块占满
4、(即背景矩阵的该行对应的无符号短整型数前12位全为1),则删除该行,并将该行以上的所有行下降一行。(五)到顶。当方块堆满,即方块堆到背景矩阵的活动区域最上面一行,则游戏结束。实验代码#include#include#include#include#inc1ude#include#include#include#include#include#inclu
5、de^include#include#include^include〈unistd.h〉#include^include〈getopt.h〉#include#defineFBDEV7dev/fb/0M#defineORANGEOxfbOO#defineBLUEOxOOff#defineWHITEOxffffstaticchar*default_frameArraybuffer=FBDEV;typedefstruct{unsi
6、gnedshortpressure;unsignedshortx;unsignedshorty;unsignedshortpad;}TS一EVENT;/*方块*/typedefstruct{intx;inty;intcolor;{block;structfb_dev{intfb;void*fb_mem;intfb_width,fb_height,fb_line_len,fb_size;intfb_bpp;};staticstructfb_devfbdev;unsignedshortframeArray[20]={0,0,0,0,0,0,0,0,0,0,0,0
7、,0,0,0,0,0,0,0,0};blockO_叩,O_down,O_left,O_right;typedefstruct{unsignedshortfr[25];}frame;typedefstruct{unsignedshortx;unsignedshorty;}location;typedefstruct{unsignedshorta[4][4];}Shape;framefra,fullFrame;locationlo;//当前坐标ShapeshapeMove,nextShape,sh[71={{{{0,0,0,0},{1,1,1,1},{0,0,0
8、,0},{0,0,0,0}}},{{{0,0,0,0