• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關(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 ;/ / 對(duì)最后4 位自動(dòng)置0 處理

    return (touch_data 0xfff) ;}



    評(píng)論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 柘荣县| 云浮市| 华池县| 兴宁市| 麦盖提县| 启东市| 沁水县| 米林县| 湖南省| 旬邑县| 东平县| 通道| 塔城市| 石渠县| 全州县| 全椒县| 日照市| 通州市| 庆城县| 兴化市| 文山县| 襄垣县| 闵行区| 抚州市| 波密县| 天水市| 呼和浩特市| 昌图县| 两当县| 青海省| 新沂市| 汽车| 历史| 通州市| 肥城市| 彭山县| 宁城县| 泰来县| 辽中县| 兴化市| 大姚县|