S3C2440驱动TFT屏(24bit显示模式)
时间:11-20
来源:互联网
点击:
- if(e>if(e>0)
- {
- x1+=1;
- e-=dy;
- }
- y1+=1;
- e+=dx;
- }
- }
- }
- else
- {
- dy=-dy;
- if(dx>=dy)//8/8象限
- {
- e=dy-dx/2;
- while(x1<=x2)
- {
- Paint_Pixel(x1,y1,color);
- if(e>0)
- {
- y1-=1;
- e-=dx;
- }
- x1+=1;
- e+=dy;
- }
- }
- else//7/8象限
- {
- e=dx-dy/2;
- while(y1>=y2)
- {
- Paint_Pixel(x1,y1,color);
- if(e>0)
- {
- x1+=1;
- e-=dy;
- }
- y1-=1;
- e+=dx;
- }
- }
- }
- }
- else
- {
- dx=-dx;
- if(dy>=0)
- {
- if(dx>=dy)//4/8象限
- {
- e=dy-dx/2;
- while(x1>=x2)
- {
- Paint_Pixel(x1,y1,color);
- if(e>0)
- {
- y1+=1;
- e-=dx;
- }
- x1-=1;
- e+=dy;
- }
- }
- else//3/8象限
- {
- e=dx-dy/2;
- while(y1<=y2)
- {
- Paint_Pixel(x1,y1,color);
- if(e>0)
- {
- x1-=1;
- e-=dy;
- }
- y1+=1;
- e+=dx;
- }
- }
- }
- else
- {
- dy=-dy;
- if(dx>=dy)//5/8象限
- {
- e=dy-dx/2;
- while(x1>=x2)
- {
- Paint_Pixel(x1,y1,color);
- if(e>0)
- {
- y1-=1;
- e-=dx;
- }
- x1-=1;
- e+=dy;
- }
- }
- else//6/8象限
- {
- e=dx-dy/2;
- while(y1>=y2)
- {
- Paint_Pixel(x1,y1,color);
- if(e>0)
- {
- x1-=1;
- e-=dy;
- }
- y1-=1;
- e+=dx;
- }
- }
- }
- }
- }
- /*************************************************************
- *名称:Graw_Rectangle
- *功能:显示一条矩形框
- *入口参数:起始坐标(x1,y1),结束坐标(x2,y2),矩形框颜色color
- *出口参数:无
- **************************************************************/
- voidGraw_Rectangle(U32x1,U32y1,U32x2,U32y2,U32color)
- {
- Draw_Line(x1,y1,x2,y1,color);
- Draw_Line(x2,y1,x2,y2,color);
- Draw_Line(x1,y2,x2,y2,color);
- Draw_Line(x1,y1,x1,y2,color);
- }
- /*************************************************************
- *名称:Graw_Full_Rectangle
- *功能:显示一条矩形框,并填充颜色
- *入口参数:起始坐标(x1,y1),结束坐标(x2,y2),填充颜色color
- *出口参数:无
- **************************************************************/
- voidGraw_Full_Rectangle(U32x1,U32y1,U32x2,U32y2,U32color)
- {
- inti;
- for(i=y1;i<=y2;i++)
- Draw_Line(x1,i,x2,i,color);
- }
- /**********************************************************************************
- *名称:Paint_Picture
- *功能:显示一张图片
- *入口参数:起始坐标(x0,y0),显示高度height,显示宽度width,填充颜色color
- *出口参数:无
- ************************************************************************************/
- voidPaint_Picture(U32x0,U32y0,U32width,U32height,UCHARbmp[])
- {
- intx,y;
- U32c;
- intp=0;
- for(y=y0;y
- {
- for(x=x0;x
- {
- c=bmp[p+2]|(bmp[p+1]<8)|(bmp[p]<16);
- if(((x0+x)
- {
- TFT_Buffer[y0+y][x0+x]=c;
- }
- p=p+3;
- }
- }
- }
- /********************************************************************
- *文件名:main.c
- *功能:测试TFT屏的驱动函数
- *作者:jianqi
- *版本:v1.0
- ********************************************************************/
- #include"2440addr.h"//包含2440相关寄存器的设置
- #include"TFT.h"
- externunsignedcharq_480x272[];//图片转换后的数组
- /*******************************************
- *名称:Delay
- *功能:延时
- *入口参数:无
- *出口参数:无
- **********************************************/
- voidDelay()
- {
- inti,j,k;
- for(i=0;i<20;i++)
- {
- for(j=0;j<100;j++)
- {
- for(k=0;k<1000;k++);
- }
- }
- }
- /*******************************************
- *名称:Main
- *功能:测试TFT屏幕
- *入口参数:无
- *出口参数:无
- **********************************************/
- voidMain(void)
- {
- TFT_Power_Enable(1);
- TFT_Contraller_Init();
- TFT_Video_ON(1);
- while(1)
- {
- TFT_CLearScreen((0x00<11)|(0x3f<5)|(0x00));//全屏显示红色
- Delay();
- Draw_Line(0,0,480,272,(0x1f<11)|(0x00<5)|(0x00));//对角线画直线
- Delay();
- Graw_Rectangle(20,20,400,200,(0x00<11)|(0x00<5)|(0x1f));//矩形框
- Delay();
- Graw_Full_Rectangle(20,20,400,200,(0x00<11)|(0x00<5)|(0x1f));//填充矩形框位指定颜色
- Delay();
- Paint_Picture(0,0,480,272,q_480x272);//显示图片
- Delay();
- }
- }
S3C2440驱动TFT屏显示模 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)