touch_msr.c

来自「驱动液晶LM2068R的触摸屏的显示」· C语言 代码 · 共 77 行

C
77
字号
/********************************************************/
///   PENIRQ<------------>P4.2
///   DOUT<-------------->P4.3
///   CBUSY<------------->P4.4
///   DIN<--------------->P4.5
///   CCS<--------------->P4.6
///   DCLK<-------------->P4.7
/***************************************************/

#include "lcd.c"
#include "lcdhead.h"

int ReadTouch(uchar command)
{
      uchar temp = 0x80;
      uchar i;
      uchar ack = 0;


      CCS_LO;
      DCLK_LO;
      
      for(i=0;i<8;i++)
      {
          if(command & temp)
          {
              P4DIR |= BIT5;
              P4OUT |= BIT5;
          }
          else
          {
              P4DIR |= BIT5;
              P4OUT &= ~BIT5;
          }
          DCLK_HI;
          TimeDelay(2);
          DCLK_LO;
          TimeDelay(2);
          temp >>= 1;          
      }
      
      P4DIR &= ~BIT4;
      while((P4IN & BIT4)== 0);
      
      P4DIR |= BIT3;
      P4OUT &= ~BIT3;
      
      DCLK_HI;
      TimeDelay(2);
      DCLK_LO;
      TimeDelay(2);
      for(i=0;i<7;i++)
      {
          DCLK_HI;
          
          P4DIR &= ~BIT3;
          if(P4IN & BIT3)
            ack++;
          ack <<=1;
          TimeDelay(2);
          
          DCLK_LO;
          TimeDelay(2);
      }
      
      DCLK_HI;
      
      P4DIR &= ~BIT3;
      if(P4IN & BIT3)
        ack += 1;
      
      TimeDelay(2);
      DCLK_LO;
      CCS_HI;
      return  ack;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?