RA88xx系列对显存直接读写点的方法
2020-09-10
本文将以RAIO最新的产品RA8889ML3N为例,对读写点功能详细介绍。RA8889是一款功能非常强大的液晶控制芯片,简单的编写逻辑以及配套的上位机开发辅助软件能够给客户开发极大地便利。
本方案适用于RA8889 RA8877 RA8876 RA8873 RA8871。
其中关于读写点相关操作如下:
(1)首先写点程序
**
void LCD_WritePixel(u16 WX,u16 HY,u16 color) //写一个点
{
while(LCD_StatusRead()&0x80 == 0x80) continue;
Goto_Pixel_XY(WX,HY);
LCD_CmdWrite(0x04);
LCD_DataWrite(color);
LCD_DataWrite(color >> 8);
}
(2)读点程序
**
u16 LCD_ReadPixel(u16 WX,u16 HY) //读一个点
{
u16 tmp;
Check_2D_Busy();
Goto_Pixel_XY(WX,HY);
LCD_CmdWrite(0x04);
LCD_DataRead(); //读空操作
tmp = LCD_DataRead();
tmp = tmp<<8;
tmp += LCD_DataRead();
while(LCD_StatusRead()&0x20 == 0x20) continue;
return tmp;
}
(3)应用实例
**
for(j=0;j<100;j++) //用描点的方式在(0,0)写出一个100*100的白色图形
{
for(i=0;i<100;i++)
{
LCD_WritePixel(i+10,j,0xffff);
}
}
//将(0,0)点的100*100的图形读点并写点复制到(400,200)
for(j=0;j<100;j++)
{
for(i=0;i<100;i++)
{
color = LCD_ReadPixel(i,j);
Check_Mem_RD_FIFO_Full();
LCD_WritePixel(i+300,j,color);
Check_Mem_RD_FIFO_Full();
}
}

分享到: