久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于PXA255的觸摸屏控制器ADS7843驅動程序設計

基于PXA255的觸摸屏控制器ADS7843驅動程序設計

作者: 時間:2012-04-20 來源:網絡 收藏

5) 具體操作函數

串行輸出控制字函數

void _din (char command)

udelay(DELA Y) ; / / 延時

for (int i = 0 ; i 8 ; i + + ) / / 從串行輸入端輸入8 位控制字

{  ADS7843_ClearBit (0 , ADS7843_CL K) ; / / 時鐘變低,下降沿輸出

if ( (command > > i) 0x1)

ADS7843_SetBit (0 , ADS7843_DIN) ; / / 數據位為1

el se

ADS7843_ClearBit (0 , ADS7843_DIN) ; / / 數據位為0

udelay (DELA Y) ;

ADS7843_SetBit (0 , ADS7843_CL K) ;}} / / 時鐘變高

②微處理器讀取X 坐標值函數(讀取Y坐標值函數相類似,控制字為0x90)

int ADS7843_t s_measure_x (void)

{ char i , int touch_data = 0 ;

ADS7843_ClearBit (0 , ADS7843_CS) ; / / 片選端置低電平

udelay(DELA Y) ;

ADS7843_din (0xD0) ;    / / 向ADS7843 發送讀X 坐標控制字0xD0

ADS7843_ClearBit (0 , ADS7843_CL K) ;

udelay(DELA Y) ;

while ( ! ( GPLR0 GPIO_ bit (ADS7843 _BUSY) ) ) print k ( “BUSY1 n” ) ;

ADS7843_ClearBit (0 , ADS7843_CL K) ;

for (i = 0 ; i 15 ; i + + )    / / 讀取坐標值

{ touch_data = 1 ;

if ( GPLR0 GPIO_bit (ADS7843_DOU T) )

touch_data | = 0x01 ;

else

touch_data = 0xffffe ;

ADS7843_SetBit (0 , ADS7843_CL K) ;

udelay(DELA Y) ;

ADS7843_ClearBit (0 , ADS7843_CL K) ;}

touch_data > > = 3 ;/ / 對最后4 位自動置0 處理

return (touch_data 0xfff) ;}



評論


相關推薦

技術專區

關閉