|
楼主 |
发表于 2012-10-31 12:59:51
|
显示全部楼层
在我发帖后的3小时内,已经自己搞定(原来是我的代码少写了一句),大家要的话,自己看吧!(单片机msp430f149,液晶控制器R61505U)结帖。
unsigned int LCD_L0_GetPixelIndex(int x, int y) {
LCD_PIXELINDEX PixelIndex;
/* Convert logical into physical coordinates (Dep. on LCDConf.h) */
#if LCD_SWAP_XY | LCD_MIRROR_X| LCD_MIRROR_Y
int xPhys = LOG2PHYS_X(x, y);
int yPhys = LOG2PHYS_Y(x, y);
#else
#define xPhys x
#define yPhys y
#endif
/* Read from hardware ... Adapt to your system */
{
LCD_SetPos(xPhys,xPhys,yPhys,yPhys);
PixelIndex =ReadData();//空读
PixelIndex =ReadData();
}
return PixelIndex;
}
//读数据
unsigned int ReadData()
{
unsigned int H,L,value;
unsigned int r,g,b;
LCD_CS_out;
LCD_RS_out;
LCD_RW_out;
LCD_RD_out;
LCD_CS0;
LCD_RS1;
LCD_RD1;
LCD_RW1;
LCD_RD0;
DataPort_in;
H=DataPort_val;
LCD_RD1;
LCD_RD0;
L=DataPort_val;
LCD_RD1;
DataPort_out;
value=(H<<8)+L;
/*TFT为BGR模式,读出来的数据要做RGB交换 */
b=(value>>11)&0x001F;
r=(value<<11)&0xF800;
g=value&0x07E0;
value=r|g|b;
return value;
} |
|