中级会员
 
- 积分
- 230
- 金钱
- 230
- 注册时间
- 2016-3-26
- 在线时间
- 83 小时
|
30金钱
F4上用的屏IC是NT35510,在运行程序中调用读点函数后,屏幕不工作,注释掉读点函数,屏幕又工作了。
程序如下,我看了NT35510的PDF,读pixel时的寄存器是2E00h , 程序应该没问题,
想问下,是否还有其他什么需要注意的地方忽略了?
void opt_delay(u8 i)
{
while(i--);
}
//读取个某点的颜色值
//x,y:坐标
//返回值:此点的颜色
u16 LCD_ReadPoint(u16 x,u16 y)
{
u16 r,g,b =0;
if(x>=lcddev.width||y>=lcddev.height)return 0; //超过了范围,直接返回
LCD_SetCursor(480-x,y);
LCD_WR_REG(0X2E00);
r = LCD_RD_DATA(); //dummy Read
opt_delay(2);
r=LCD_RD_DATA(); //实际坐标颜色
opt_delay(2);
b=LCD_RD_DATA();
g=r&0XFF; //对于nt35510,第一次读取的是RG的值,R在前,G在后,各占8位
g<<=8;
return (((r>>11)<<11)|((g>>10)<<5)|(b>>11));
}
|
|