| 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); //设定好寄存器开始写
 }
 
 所以每次画点都会定位,现在感觉就是每次只有第一次定位有用,
 比如说先画一个点,它会定位准确,并画出点来。可后面再画一个点(或者一片区域)时就都不行,但其实画第二个点时,也会调用定位的函数呀。
 
 再比如说先画一片区域,也能正常,但后面再加画点(或其他区域)就又没用了。
 
 求指点呀。。。。。
 |