關 閉

        新聞中心

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 瓮安县| 昌江| 肥城市| 南京市| 旺苍县| 盐源县| 秦皇岛市| 成武县| 东阿县| 方正县| 基隆市| 上林县| 卢湾区| 北海市| 长葛市| 凯里市| 长丰县| 冷水江市| 亳州市| 沙坪坝区| 耿马| 哈尔滨市| 龙胜| 梨树县| 元谋县| 哈巴河县| 洞头县| 平阴县| 龙川县| 舞阳县| 信宜市| 思茅市| 成都市| 苍溪县| 松溪县| 友谊县| 前郭尔| 邛崃市| 祁门县| 吉木乃县| 潼南县|