刷屏都inline进去了,应该不是刷屏函数的问题吧
///////////////////////////////////////////////////////////////////////////////
//函数名:LCD_WR_REG
//描述 :R61851 写寄存器函数
//输入 :-index 寄存器
//输出 :无
//调用 :内部调用
//////////////////////////////////////////////////////////////////////////////
static inline void LCD_WR_REG(u16 index)
{
*(__IO u16 *) (Bank1_LCD_C) = index;
}
///////////////////////////////////////////////////////////////////////////////
//函数名:LCD_WR_Data
//描述 :R61851 向GRAM写入数据
//输入 :-val 写入的数据,16bit
//输出 :无
//调用 :内部调用
//////////////////////////////////////////////////////////////////////////////
static inline void LCD_WR_Data(unsigned int val)
{
*(__IO u16 *) (Bank1_LCD_D) = val;
}
inline void LCD_Set_Window(u16 StartX,u16 StartY,u16 EndX,u16 EndY)
{
LCD_WR_REG(0x002A); //设置列地址
LCD_WR_Data(StartX>>8);
LCD_WR_Data(0x00FF&StartX);
LCD_WR_Data(EndX>>8);
LCD_WR_Data(0x00FF&EndX);
LCD_WR_REG(0x002B); //设置行地址
LCD_WR_Data(StartY>>8);
LCD_WR_Data(0x00FF&StartY);
LCD_WR_Data(EndY>>8);
LCD_WR_Data(0x00FF&EndY);
LCD_WR_REG(0x003A);// 16/18 bits
LCD_WR_Data(0x55);//16bits
LCD_WR_REG(0x002C);//写液晶准备
}
void LCD_ColorBox(u16 xStart,u16 yStart,u16 xLong,u16 yLong,u16 Color)
{
u32 temp;
LCD_Set_Window(xStart,yStart,xStart+xLong-1,yStart+yLong-1);
for (temp=0; temp<xLong*yLong; temp++)
{
*(__IO u16 *) (Bank1_LCD_D) = Color;
}
}
|