亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ads7843_method.c

?? 一個很好的關(guān)于ARM觸摸屏試驗程序代碼
?? C
字號:
#include "ads7843.h"

#define GPDR0	(*((volatile unsigned long *)(0x40e0000c)))
#define GAFR0_L   (*((volatile unsigned long *)(0x40e00054)))
#define GPDR2     (*((volatile unsigned long *)(0x40e00014)))
#define GAFR2_L   (*((volatile unsigned long *)(0x40e00064)))
#define GFER0     (*((volatile unsigned long *)(0x40e0003c)))
#define GPLR0     (*((volatile unsigned long *)(0x40e00000)))

#define ICMR      (*((volatile unsigned long *)(0x40d00004)))
#define ICLR      (*((volatile unsigned long *)(0x40d00008)))

extern void print_num(short int);
extern void print_string(char * str1);

void udelay(int time )
{
   int i=0;
   int j=0;

    for(i=0; i<10; i++)
        for(j=0; j<time; j++);
}


void port0_setbit(char bits)
{
  char value=0;
  value = 1<<bits;
  PORT0_temp |= value;
  PORT0 = PORT0_temp;
}


void port0_clearbit(char bits)
{
  char value=0;
  value = ~(1<<bits);
  PORT0_temp &= value;
  PORT0 = PORT0_temp;

}


void ads7843_din(char command)
{
   char i=0;
   port0_clearbit(ADS7843_CS);
   udelay(50);
       
   for(i=0;i<8;i++)
     {
       port0_clearbit(ADS7843_DCLK);
        if ((command>>i) & 0x1)
             port0_setbit(ADS7843_DIN);
        else
             port0_clearbit(ADS7843_DIN);
         
       udelay(delay);

       port0_setbit(ADS7843_DCLK);
       udelay(delay);
     }     

    port0_clearbit(ADS7843_DCLK);

}


void ads7843_dout(short int * value)
{
  int i;
  port0_clearbit(ADS7843_DCLK);

  * value = 0;
  for(i=0;i<12;i++)
   {
      if (GPLR0 & (1<<4))
         {
             *value |= 0x1;
          }
      else 
             *value &= ~0x1;

       (*value ) <<= 1;

       port0_setbit(ADS7843_DCLK);
       udelay(delay);
       port0_clearbit(ADS7843_DCLK);
       udelay(delay);

   }  
    (*value) >>=1;
   
   //*value &= 0xfff;

}


short int read_x()
{
   short int value=0;

   ads7843_din(SPIMDATA_X);
   port0_clearbit(ADS7843_DCLK);

   //make CS falling
   while (GPLR0 & (1<<1))
      { 
        port0_setbit(ADS7843_DCLK);
        udelay(delay);
        port0_clearbit(ADS7843_DCLK); 
        udelay(delay);
      }


   ads7843_dout(&value);
 
   return value;
}


short int read_y()
{
   short int value=0;

   ads7843_din(SPIMDATA_Y);
   port0_clearbit(ADS7843_DCLK);

   //make CS falling
   while (GPLR0 & (1<<1))
      { 
        port0_setbit(ADS7843_DCLK);
        udelay(delay);
        port0_clearbit(ADS7843_DCLK); 
        udelay(delay);
      }


   ads7843_dout(&value);
 
   return value;
}


void ads7843_read_xy()
{
   short int value_x[3], value_y[3];
   short int diff[3];
   short int actual_x, actual_y;
   char i=0;


     
   for(i=0; i<3; i++)
       value_x[i] = read_x();
  
   for(i=0; i<3; i++)
       value_y[i] = read_y();



//X_Convertion
   if ((value_x[1] - value_x[0])>>0)
         diff[0] = value_x[1] - value_x[0];
   else
         diff[0] = value_x[0] - value_x[1];

   if ((value_x[2] - value_x[1])>>0)
         diff[1] = value_x[2] - value_x[1];
   else 
         diff[1] = value_x[1] - value_x[2];

   if ((value_x[0] - value_x[2])>>0)
         diff[2] = value_x[0] - value_x[2];
   else 
         diff[2] = value_x[2] - value_x[0];


   if (diff[0]>XLIMIT || diff[1]>XLIMIT || diff[2]>XLIMIT )
       return ;

   if (diff[0]<=diff[1])
      {
         if (diff[0] <= diff[2])
                actual_x = (value_x[1] + value_x[0]) / 2; 
         else 
                actual_x = (value_x[2] + value_x[0]) / 2;
      }
   else
      {
         if (diff[1] <= diff[2])
                actual_x = (value_x[2] + value_x[1]) /2;
         else
                actual_x = (value_x[2] + value_x[0]) /2;
      }


   if (X_REV == 0)
        actual_x = actual_x*SCREEN_X/(RAW_MAX_X - RAW_MIN_X);
   else 
        actual_x =(RAW_MAX_X - actual_x)*SCREEN_X /(RAW_MAX_X - RAW_MIN_X);   

  
        actual_x = (actual_x<=640)? actual_x: (640-1);  
        actual_x = (actual_x>=0)? actual_x:1;



//Y_Convertion
 if ((value_y[1] - value_y[0])>>0)
         diff[0] = value_y[1] - value_y[0];
   else
         diff[0] = value_y[0] - value_y[1];

   if ((value_y[2] - value_y[1])>>0)
         diff[1] = value_y[2] - value_y[1];
   else 
         diff[1] = value_y[1] - value_y[2];

   if ((value_y[0] - value_y[2])>>0)
         diff[2] = value_y[0] - value_y[2];
   else 
         diff[2] = value_y[2] - value_y[0];


 if (diff[0]>YLIMIT || diff[1]>YLIMIT || diff[2]>YLIMIT )
       return ;


if (diff[0]<=diff[1])
      {
         if (diff[0] <= diff[2])
                actual_y = (value_y[1] + value_y[0]) / 2; 
         else 
                actual_y = (value_y[2] + value_y[0]) / 2;
      }
   else
      {
         if (diff[1] <= diff[2])
                actual_y = (value_y[2] + value_y[1]) /2;
         else
                actual_y = (value_y[2] + value_y[0]) /2;
      }



   if (Y_REV == 0)
          actual_y = actual_y*SCREEN_Y/(RAW_MAX_Y - RAW_MIN_Y ); 
   else
          actual_y = (RAW_MAX_Y-actual_y)*SCREEN_Y /(RAW_MAX_Y - RAW_MIN_Y );


   actual_y = (actual_y<=480)? actual_y: (480-1);  
   actual_y = (actual_y>=0)? actual_y:1;
    
   print_string("X :");
   print_num(actual_x);
   print_string("  ");
   print_string("Y :");
   print_num(actual_y);
   print_string("\n");
}



 void init_GPIO()
{  
 //CS2
 GPDR2 |= (1<<14); 
 GAFR2_L |= (2<<28);

 //GPIO1--ADS7842_busy
 GPDR0  &= ~(1<<1);
 GAFR0_L  &= ~(3<<2);

 //GPIO4--ADS7843_DOUT
 GPDR0  &= ~(1<<4);
 GAFR0_L  &= ~(3<<8);

 //GPIO5--ADS7843_IRQ
 GPDR0  &= ~(1<<5);
 GAFR0_L  &= ~(3<<10);

 //GPIO5--Falling edge Detect
 GFER0 |= (1<<5);
 ICMR |=  (1<<10);
 ICLR &=  ~(1<<10);
  
}


void init_ads7843 ()
{
  PORT0_temp = 0;
  PORT0 = PORT0_temp;
  
  init_GPIO();

  port0_setbit(ADS7843_CS);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品最新网址| 国产99久久久久久免费看农村| 粉嫩在线一区二区三区视频| 久久久另类综合| 国产成人综合精品三级| 久久久美女艺术照精彩视频福利播放| 日本不卡123| 日韩免费电影一区| 精品一区二区三区免费播放| 精品1区2区在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 久久久国产一区二区三区四区小说| 激情综合色综合久久综合| 久久久久国产一区二区三区四区| 成人一区二区三区| 中文字幕一区免费在线观看| 在线一区二区三区四区| 日韩中文字幕亚洲一区二区va在线 | 亚洲综合一区二区| 91精品国产91热久久久做人人| 麻豆成人免费电影| 国产午夜精品一区二区三区视频| 91在线无精精品入口| 亚洲国产aⅴ天堂久久| 欧美不卡视频一区| 成人免费高清视频在线观看| 亚洲一区二区三区四区在线观看| 欧美一区二区三区成人| 成人av电影在线| 日韩精品视频网站| 国产日韩av一区| 欧美亚洲动漫另类| 精品无人区卡一卡二卡三乱码免费卡| 国产精品视频免费| 欧美日韩不卡一区| 国产成a人亚洲精| 亚洲国产综合色| 国产网站一区二区三区| 欧美人妖巨大在线| 高清不卡一区二区| 国产资源精品在线观看| 亚洲精品午夜久久久| 精品国产99国产精品| 色婷婷国产精品| 国产精品一级在线| 亚洲va欧美va人人爽午夜| 亚洲国产高清aⅴ视频| 91麻豆精品国产91久久久更新时间| 国产91在线观看| 日本视频一区二区三区| 亚洲精品自拍动漫在线| 久久久久久久综合日本| 678五月天丁香亚洲综合网| www.av亚洲| 国产一区亚洲一区| 亚洲成国产人片在线观看| 亚洲国产精品成人久久综合一区| 欧美一区二区三区视频在线| 色美美综合视频| 成人深夜福利app| 国内精品视频一区二区三区八戒 | 中文字幕欧美区| 欧美一区二区大片| 欧美日韩免费一区二区三区视频| 成人午夜在线免费| 国产一区二区三区免费在线观看| 日韩精品亚洲一区二区三区免费| 亚洲视频免费在线观看| 中文字幕av不卡| 久久精品视频网| 2020日本不卡一区二区视频| 日韩欧美一区二区久久婷婷| 欧美日韩在线综合| 欧美日韩综合在线免费观看| 99在线精品免费| av在线一区二区三区| 福利电影一区二区三区| 国产乱理伦片在线观看夜一区| 美国十次综合导航| 美美哒免费高清在线观看视频一区二区 | 欧美日韩成人综合| 在线播放欧美女士性生活| 欧美日韩aaaaa| 日韩午夜激情视频| 精品久久一区二区三区| 久久色在线视频| 久久久亚洲综合| 国产精品亲子伦对白| 日本一区二区三区免费乱视频| 国产三级一区二区三区| 国产精品久久久99| 亚洲猫色日本管| 亚洲第一成年网| 日本三级亚洲精品| 极品尤物av久久免费看| 国产精品一区二区在线观看不卡 | 亚洲成av人片在线观看| 亚洲一级片在线观看| 午夜精品久久久| 青青草国产成人99久久| 精品一区二区三区蜜桃| 国产精品911| 99精品国产热久久91蜜凸| 欧美在线999| 欧美一级在线视频| 久久精品一级爱片| 亚洲综合一区在线| 韩国视频一区二区| 91视频免费播放| 91精品国产综合久久久蜜臀图片| 久久中文娱乐网| 亚洲视频一区二区在线| 五月婷婷久久综合| 国产91精品久久久久久久网曝门 | 亚洲无线码一区二区三区| 久久99久久99| 色香色香欲天天天影视综合网| 日韩一区二区在线看| 欧美国产欧美综合| 首页国产欧美久久| 丁香婷婷综合色啪| 日本道色综合久久| 一本久久综合亚洲鲁鲁五月天 | 中文av字幕一区| 专区另类欧美日韩| 亚洲国产精品麻豆| 国产乱妇无码大片在线观看| 菠萝蜜视频在线观看一区| 欧美视频在线观看一区二区| 日韩免费一区二区三区在线播放| 精品粉嫩超白一线天av| 国产精品色婷婷| 亚洲自拍都市欧美小说| 久久国产精品第一页| 成a人片亚洲日本久久| 91色porny在线视频| 欧美一区二区三区视频免费播放| 久久久不卡网国产精品一区| 亚洲香肠在线观看| 日精品一区二区三区| 91免费看`日韩一区二区| 欧美一区三区四区| 中文字幕视频一区二区三区久| 亚洲午夜激情av| 91婷婷韩国欧美一区二区| 欧美日韩mp4| 日韩美女视频19| 韩国毛片一区二区三区| 欧美亚洲国产bt| 亚洲免费观看高清完整版在线观看熊 | 国产精品国产三级国产普通话三级 | 日韩欧美综合一区| 亚洲日本在线a| 丁香婷婷综合网| 精品国产乱码久久久久久影片| 亚洲天堂精品视频| 国产专区综合网| 欧美中文字幕一区| 亚洲精品第1页| 成人高清免费在线播放| 欧美v日韩v国产v| 午夜a成v人精品| 色一情一乱一乱一91av| 国产精品私人影院| 国产激情一区二区三区桃花岛亚洲| 久久影院午夜论| 亚洲福利国产精品| 国产精品小仙女| 久久综合视频网| 麻豆国产欧美一区二区三区| 欧美日本一道本| 亚洲精品视频一区二区| 色欧美片视频在线观看在线视频| 欧美成人在线直播| 日日骚欧美日韩| 9191久久久久久久久久久| 国产精品―色哟哟| eeuss鲁片一区二区三区| 国产片一区二区三区| 国产一区二区三区日韩| 精品国产a毛片| 国产精品一区二区果冻传媒| 日韩欧美专区在线| 久久精品国产77777蜜臀| 在线不卡中文字幕播放| 天堂va蜜桃一区二区三区漫画版| 欧美亚洲国产一区二区三区| 亚洲成在线观看| 精品久久免费看| 国内精品写真在线观看| 久久亚洲精品国产精品紫薇| 黄页视频在线91| 91麻豆精品国产自产在线观看一区 | 亚洲二区在线视频| 欧美视频在线不卡| 婷婷激情综合网| 日韩欧美在线影院| 国产高清亚洲一区| 中文字幕中文字幕中文字幕亚洲无线| 国产成人丝袜美腿|