?? lcd.c
字號(hào):
#include "2410addr.h"
#include "lcd.h"
#include "uart.h"
#define LCDBUFFER (0x33500000)
#define Xline (240)
#define Yline (320)
unsigned short int *buffer;
void LCDINIT ()
{
uart_send("bbb");
/*初始化 IO*/
rGPCCON=0xaaaaaaaa;
rGPCDAT=0x0;
rGPCUP=0xffffffff;
rGPDCON=0xaaaaaaaa;
rGPDDAT=0x0;
rGPDUP=0xffffffff;
/*設(shè)置內(nèi)存緩沖區(qū)*/
buffer=(unsigned short int*)LCDBUFFER;
rGPGCON|=(3<<8);
rGPGUP=0xffff;
rGPGDAT=0x0;
/*設(shè)置LCD寄存器*/
rLCDCON1=(7<<8)|(0<<7)|(3<<5)|(12<<1)|0;
rLCDCON2=(2<<24)|((Yline-1)<<14)|(2<<6)|4;
rLCDCON3=(8<<19)|((Xline-1)<<8)|8;
rLCDCON4=(13<<8)|6;
rLCDCON5=(1<<11)|(0<<9)|(0<<8)|(0<<6)|(1<<3)|1;
rLCDSADDR1=(((unsigned int )LCDBUFFER>>22)<<21)|(((unsigned int )LCDBUFFER>>1)&0x1fffff);
rLCDSADDR2=(((LCDBUFFER>>1)&0x1fffff)+(Xline*2*Yline))>>1;
rLCDSADDR3=(0<<11)|(Xline);
rDITHMODE=0x12210;
rLCDINTMSK=0x3;
rLPCSEL&=0;
rTPAL=0;
}
void Lcd_envid(int onoff)
{if (onoff==1)
{uart_send("ccc");
rLCDCON1|=1;
}else
{uart_send("ddd");
rLCDCON1&=~(1);
}
}
/*畫(huà)點(diǎn)*/
void Pixel(int x,int y, unsigned short int c)
{unsigned short int * a;
if (x<Xline&&x>0&&y<Yline&&y>0)
{ a=((unsigned short int *)LCDBUFFER+(240*y+x)*2);
*a=c;
}
}
/*畫(huà)垂直線(xiàn)*/
void line1(int x1,int y1,int y2 , unsigned short int c)
{while(y1<=y2)
{
Pixel(x1,y1++,c);
}
}
/*畫(huà)水平線(xiàn)*/
void line2(int x1,int x2,int y1, unsigned short int c)
{while(x1<=x2)
{
Pixel(x1++,y1,c);
}
}
/*清屏*/
void fill(unsigned short int c)
{int x,y;
uart_send("EEE");
for(y=0;y<Yline;y++)
{for(x=0;x<Xline;x++)
{Pixel(x,y,c);
}
}
}
void LCD_TEST(int argc, char**argv)
{uart_send("aaa\n\r");
LCDINIT();
Lcd_envid(1);
fill(0x00ff);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -