关 闭

新闻中心

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) ;}



评论


相关推荐

技术专区

关闭