關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于PXA255的觸摸屏控制器ADS7843驅(qū)動(dòng)程序設(shè)計(jì)

        基于PXA255的觸摸屏控制器ADS7843驅(qū)動(dòng)程序設(shè)計(jì)

        作者: 時(shí)間:2012-04-20 來源:網(wǎng)絡(luò) 收藏

        5) 具體操作函數(shù)

        串行輸出控制字函數(shù)

        void _din (char command)

        udelay(DELA Y) ; / / 延時(shí)

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

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

        if ( (command > > i) 0x1)

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

        el se

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

        udelay (DELA Y) ;

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

        ②微處理器讀取X 坐標(biāo)值函數(shù)(讀取Y坐標(biāo)值函數(shù)相類似,控制字為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 發(fā)送讀X 坐標(biāo)控制字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 + + )    / / 讀取坐標(biāo)值

        { 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 位自動(dòng)置0 處理

        return (touch_data 0xfff) ;}



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 濮阳市| 湖州市| 荥阳市| 麻栗坡县| 全椒县| 崇州市| 遂川县| 中江县| 金平| 饶河县| 衡东县| 泸溪县| 久治县| 温宿县| 视频| 乌兰察布市| 乳山市| 盘锦市| 巴里| 旬邑县| 渑池县| 长丰县| 南涧| 区。| 玉山县| 夏河县| 富阳市| 收藏| 蒙阴县| 通海县| 沂水县| 名山县| 青铜峡市| 浦东新区| 舟曲县| 台湾省| 离岛区| 白朗县| 天津市| 五寨县| 石柱|