关于TFTLCD的void LCD_Set_Window()使用例程
时间: 2023-08-14 19:05:04 浏览: 498
下是一个使用 `LCD_Set_Window()` 函数的例程:
```c
#define LCD_WIDTH 240
#define LCD_HEIGHT 320
void LCD_Set_Window(uint16_t x, uint16_t y, uint16_t width, uint16_t height)
{
LCD_WriteReg(HX8347D_CASET); // Column Address Set
LCD_WriteData(x >> 8);
LCD_WriteData(x & 0xFF);
LCD_WriteData((x + width - 1) >> 8);
LCD_WriteData((x + width - 1) & 0xFF);
LCD_WriteReg(HX8347D_PASET); // Row Address Set
LCD_WriteData(y >> 8);
LCD_WriteData(y & 0xFF);
LCD_WriteData((y + height - 1) >> 8);
LCD_WriteData((y + height - 1) & 0xFF);
LCD_WriteReg(HX8347D_RAMWR); // Memory Write
}
int main()
{
uint16_t x = 20;
uint16_t y = 30;
uint16_t width = 100;
uint16_t height = 150;
// 设置窗口
LCD_Set_Window(x, y, width, height);
// 在窗口里绘制图形
for (uint16_t i = x; i < x + width; i++) {
for (uint16_t j = y; j < y + height; j++) {
LCD_WritePixel(i, j, RED);
}
}
return 0;
}
```
在这个例程中,我们定义了 LCD 的宽度和高度为 240 和 320。然后我们调用 `LCD_Set_Window()` 函数来设置 LCD 的显示窗口。这个函数会发送一些命令给 LCD 控制器,告诉它从哪个位置开始显示,显示多少列和行。然后我们在窗口里面循环绘制了一个红色的矩形。注意,我们循环的起点和终点是窗口的左上角和右下角,而不是 LCD 的左上角和右下角。这样就可以保证我们只在窗口里面绘制图形了。
阅读全文