写之前lcd显示的点随着手指的移动消失的代码
时间: 2024-03-09 09:45:06 浏览: 91
要实现在LCD屏幕上显示手指移动的轨迹,你可以在每次获取到新的TP坐标点后,使用LCD屏幕的绘图函数在新的位置和上一个位置之间绘制一条线段,从而形成轨迹。同时,你也需要清除之前绘制的轨迹,以便在新的位置上绘制新的轨迹。
以下是示例代码,用于在LCD屏幕上显示手指移动的轨迹:
```
// 假设LCD屏幕的分辨率为320x240
#define LCD_WIDTH 320
#define LCD_HEIGHT 240
// 假设已经获取到了TP的坐标点(x, y)
int x = 0;
int y = 0;
// 假设上一个坐标点的位置为(x_prev, y_prev)
int x_prev = 0;
int y_prev = 0;
// 在LCD屏幕上绘制一条线段
void draw_line(int x1, int y1, int x2, int y2)
{
// 计算线段的两个端点在屏幕上的位置
int screen_x1 = x1 * LCD_WIDTH / TP_MAX_X;
int screen_y1 = y1 * LCD_HEIGHT / TP_MAX_Y;
int screen_x2 = x2 * LCD_WIDTH / TP_MAX_X;
int screen_y2 = y2 * LCD_HEIGHT / TP_MAX_Y;
// 使用LCD屏幕的绘图函数,在两个端点之间绘制一条线段
lcd_draw_line(screen_x1, screen_y1, screen_x2, screen_y2, COLOR_BLACK);
}
// 清除之前绘制的轨迹
void clear_screen()
{
lcd_clear(COLOR_WHITE);
}
int main()
{
// 初始化LCD屏幕
lcd_init();
// 清除屏幕
clear_screen();
// 获取TP的坐标点(x, y),并在LCD屏幕上显示轨迹
while (1)
{
get_tp_coordinates(&x, &y);
// 在LCD屏幕上绘制一条线段,连接当前坐标点和上一个坐标点
draw_line(x_prev, y_prev, x, y);
// 更新上一个坐标点的位置
x_prev = x;
y_prev = y;
}
return 0;
}
```
在上面的代码中,`lcd_draw_line()`是一个用于在LCD屏幕上绘制一条线段的函数,`lcd_clear()`是一个用于清除LCD屏幕上所有像素点的函数。在每次获取到新的TP坐标点后,我们使用`draw_line()`函数在新的位置和上一个位置之间绘制一条线段。在下一次获取到新的TP坐标点之前,我们需要清除之前绘制的轨迹,以便在新的位置上绘制新的轨迹。
阅读全文