基于ARM7支持触摸屏和实时操作系统的开发与应用
本文采用固定参考电压模式,在驱动程序开发过程中,需要关注时钟端、输入端和输出端的时序特性。首先检测PENIRQ是否为低电平,只有触摸屏有接触时此位才会为低电平。利用软件模拟DIN、DOUT和DCLK上的三线串行传输时序,将读取的X或Y坐标数值的控制字串行送人ADS7843,然后再从对应的函数读出该坐标值,获取坐标值的源程序如下:
int TOUCH_X_MeasureX(void)
{
X=ReadTouchXY(CHX);
return X;
}
int TOUCH_X_MeasureY(void)
{
Y=ReadTouchXY(CHY);
return Y;
}
其中,ReadTouchXY()函数通过TOUCH_X_MeasureX(void)、TOUCH_X_MeasureY(void)读取对应坐标的X、Y轴的电压值,并送入主控程序进行坐标转化,得出当前触摸屏按压的位置。
int ReadTouchXY(unsigned char
command)
{
//根据command参数,进行X、Y向触摸点选择、去抖、位置的计算等
return ack;//返回触摸屏对应位
置值;
评论