void LCD_open_windows(u16 x,u16 y,u16 len,u16 wid)
{
if(display_direction == 0) /*如果是横屏选项*/
if(display_direction == 0) /*如果是横屏选项*/
{
LCD_ILI9341_CMD(0X2A);
LCD_ILI9341_Parameter(x>>8); //start 起始位置的高8位
LCD_ILI9341_CMD(0X2A);
LCD_ILI9341_Parameter(x>>8); //start 起始位置的高8位
LCD_ILI9341_Parameter(x-((x>>8)<<8)); //起始位置的低8位
LCD_ILI9341_Parameter((x+len-1)>>8); //end 结束位置的高8位
LCD_ILI9341_Parameter((x+len-1)-(((x+len-1)>>8)<<8)); //结束位置的低8位
LCD_ILI9341_CMD(0X2B);
LCD_ILI9341_Parameter(y>>8); //start
LCD_ILI9341_Parameter((x+len-1)-(((x+len-1)>>8)<<8)); //结束位置的低8位
LCD_ILI9341_CMD(0X2B);
LCD_ILI9341_Parameter(y>>8); //start
LCD_ILI9341_Parameter(y-((y>>8)<<8));
LCD_ILI9341_Parameter((y+wid-1)>>8); //end
LCD_ILI9341_Parameter((y+wid-1)-(((y+wid-1)>>8)<<8));
LCD_ILI9341_Parameter((y+wid-1)>>8); //end
LCD_ILI9341_Parameter((y+wid-1)-(((y+wid-1)>>8)<<8));
}
else
{
LCD_ILI9341_CMD(0X2B);
LCD_ILI9341_Parameter(x>>8);
LCD_ILI9341_Parameter(x-((x>>8)<<8));
LCD_ILI9341_CMD(0X2B);
LCD_ILI9341_Parameter(x>>8);
LCD_ILI9341_Parameter(x-((x>>8)<<8));
LCD_ILI9341_Parameter((x+len-1)>>8);
LCD_ILI9341_Parameter((x+len-1)-(((x+len-1)>>8)<<8));
LCD_ILI9341_Parameter((x+len-1)-(((x+len-1)>>8)<<8));
LCD_ILI9341_CMD(0X2A);
LCD_ILI9341_Parameter(y>>8);
LCD_ILI9341_Parameter(y-((y>>8)<<8));
LCD_ILI9341_Parameter(y>>8);
LCD_ILI9341_Parameter(y-((y>>8)<<8));
LCD_ILI9341_Parameter((y+wid-1)>>8);
LCD_ILI9341_Parameter((y+wid-1)-(((y+wid-1)>>8)<<8));
LCD_ILI9341_Parameter((y+wid-1)-(((y+wid-1)>>8)<<8));
}
LCD_ILI9341_CMD(0x2c);
LCD_ILI9341_CMD(0x2c);
}
只要这个函数能用其他的函数在这个基础上就可以兼容了。