void LCD_Control(uint16_t StartX, uint16_t EndX, uint16_t StartY, uint16_t EndY, unsigned char direction) { LCD_WR_CMD_8(0X36); if((direction == 'L') || (direction == 'l')) { LCD_WR_Data_8(0x08); //初始化屏幕起始坐标 LCD_WR_CMD_8(0X2A); LCD_WR_Data_8((uint8_t)((239 - EndX) >> 8)); LCD_WR_Data_8((uint8_t)((239 - EndX) & 0xff)); LCD_WR_Data_8((uint8_t)((239 - StartX) >> 8)); LCD_WR_Data_8((uint8_t)((239 - StartX) & 0xff)); LCD_WR_CMD_8(0X2B); LCD_WR_Data_8((uint8_t)(StartY >> 8)); LCD_WR_Data_8((uint8_t)(StartY & 0xff)); LCD_WR_Data_8((uint8_t)(EndY >> 8)); LCD_WR_Data_8((uint8_t)(EndY & 0xff)); } else if((direction == 'R') || (direction == 'r'))
//显示一副图片 //x,y:图片起始位置 //lenth:图片的宽度(0~240) //wide: 图片高度(0~320) //*p:图片首地址 //不带范围判断 void TFT_ShowBmp(u8 x,u16 y,u8 lenth,u16 wide,const u8 *p) { u32 size,temp; //开辟窗口 LCD_WR_CMD(0x0050, x); // Horizontal GRAM Start Address LCD_WR_CMD(0x0051, (u16)x+lenth-1); // Horizontal GRAM End Address LCD_WR_CMD(0x0052, y); // Vertical GRAM Start Address LCD_WR_CMD(0x0053, y+wide-1); // Vertical GRAM Start Address LCD_WR_REG(34); temp=(u32)lenth*wide*2; for(size=0;size<temp;size++)LCD_WR_Data_8(p[size]); }