代码实现功能
代码实现了读取触摸屏坐标,并将触摸屏坐标换算为液晶屏的显示坐标,将像素点显示到触摸坐标的位置,实现了通过触摸屏在液晶屏上进行简单的线条绘画。
代码设置了防触摸屏坐标误触发机制,通过算法尽量减少触摸屏野点。使触发坐标更准确。
运行代码,通过用手指或者其他光滑的物体在液晶屏上划动,可以看到液晶屏上显示出划动的轨迹。
硬件平台
开发板:ADSP-EDU-BF518F 淘宝链接:http://item.taobao.com/item.htm?spm=a1z10.3.17.33.5317f8&id=14449990649
仿真器:AD-HP510ICE-FULL 淘宝链接:http://item.taobao.com/item.htm?spm=a1z10.3.17.17.4561b&id=8842330668
代码使用说明
触摸屏野点算法:
为确保触摸屏显示坐标准确,通常采用野点处理算法,代码中每次采取9个坐标点,然后对其取平均值和差值,排除偏离实际坐标较大的坐标值,将准确的坐标输出。
触摸屏坐标与液晶屏坐标换算:
X坐标换算: tem_x = (tem_x-0xb0)*100/800;
Y坐标换算: tem_y = (tem_y-0x150) *100/1288;
如感觉坐标定位不准确,可适当修改上面的换算参数值。
在指定坐标显示一个点:
因液晶屏最终显示的数据格式为RGB565,所以显示点的数据为16bit ,由两个8bit的数据分别送入。
void play_point(unsigned int x,unsigned int y,unsigned char *pdispbuf)
{
pdispbuf[2*x+0+y*960] = 0xff ;
pdispbuf[2*x+1+y*960] = 0xff;
}
代码实验步骤
1. 编译并运行代码
2. 用手指在液晶屏上划动
3. 观察液晶屏显示
代码实验结果
液晶屏上会显示出手指划动的轨迹。