基于ARM7支持觸摸屏和實(shí)時(shí)操作系統(tǒng)的開發(fā)與應(yīng)用
本文采用固定參考電壓模式,在驅(qū)動(dòng)程序開發(fā)過(guò)程中,需要關(guān)注時(shí)鐘端、輸入端和輸出端的時(shí)序特性。首先檢測(cè)PENIRQ是否為低電平,只有觸摸屏有接觸時(shí)此位才會(huì)為低電平。利用軟件模擬DIN、DOUT和DCLK上的三線串行傳輸時(shí)序,將讀取的X或Y坐標(biāo)數(shù)值的控制字串行送人ADS7843,然后再?gòu)膶?duì)應(yīng)的函數(shù)讀出該坐標(biāo)值,獲取坐標(biāo)值的源程序如下:
int TOUCH_X_MeasureX(void)
{
X=ReadTouchXY(CHX);
return X;
}
int TOUCH_X_MeasureY(void)
{
Y=ReadTouchXY(CHY);
return Y;
}
其中,ReadTouchXY()函數(shù)通過(guò)TOUCH_X_MeasureX(void)、TOUCH_X_MeasureY(void)讀取對(duì)應(yīng)坐標(biāo)的X、Y軸的電壓值,并送入主控程序進(jìn)行坐標(biāo)轉(zhuǎn)化,得出當(dāng)前觸摸屏按壓的位置。
int ReadTouchXY(unsigned char
command)
{
//根據(jù)command參數(shù),進(jìn)行X、Y向觸摸點(diǎn)選擇、去抖、位置的計(jì)算等
return ack;//返回觸摸屏對(duì)應(yīng)位
置值;
評(píng)論