Regsen 发表于 2013-7-29 09:17 
是不是控制命令有要求呢。写完一个数据后,要重新给写控制命令呢,这种情况有没有可能 ...
每次画点应该已经定位了,看我的画点函数:
void LCD_DrawPoint(u16 x,u16 y)
{
LCD_SetAddress(x,y,x,y); //LCD_SetAddress是定位一个区域,这个定位一个点,所以是(x,y,x,y)
LCD_WR_DATA(POINT_COLOR);
}
void LCD_SetAddress(uint x1, uint y1, uint x2, uint y2) //定位(x1,y1)为起点,(x2,y2)为终点的区域
{
LCD_WriteCmdWithData(0x46, (x2<<8)|x1); //S6D1121定位横坐标区域是通过一个命令的,详见数据手册的指令描述的R46H(P151页)
LCD_WriteCmdWithData(0x47, y2); //设定Y2
LCD_WriteCmdWithData(0x48, y1); //设定y1
LCD_WriteCmdWithData(0x20, x1); //设定RAM开始写的地址(x1, y1)
LCD_WriteCmdWithData(0x21, y1);
LCD_WriteCmd(0x22); //设定好寄存器开始写
}
所以每次画点都会定位,现在感觉就是每次只有第一次定位有用,
比如说先画一个点,它会定位准确,并画出点来。可后面再画一个点(或者一片区域)时就都不行,但其实画第二个点时,也会调用定位的函数呀。
再比如说先画一片区域,也能正常,但后面再加画点(或其他区域)就又没用了。
求指点呀。。。。。
|