Вопрос по ArduCAM_Touch

andy-k
Offline
Зарегистрирован: 14.05.2012

Всем добрый день! Помогите пожалуйста, с ибея взял дисплейчик с тачскрином, с выводом на него разобрался, работает через UTFT, а вот с тачскрином проблема. Использую быблиотеку ArduCAM_Touch. Хочу с нарисованной экранной клавиатуры считывать нажатия на кнопки. В итоге нажатия вижу, координат получить не могу, вот кусок кода:

void readCoordinates()
{
  unsigned long tx=1;
  unsigned long ty=1;
  
  while (myTouch.dataAvailable() == true)
  {
      myTouch.read();
      tx += myTouch.TP_X;
      ty += myTouch.TP_Y;
      myGLCD.print("YES", 230, 50);
  }
  myGLCD.print("NO", 230, 50);
  cx = tx ;
  cy = ty ;
  
}

void loop()
{
readCoordinates();

myGLCD.printNumI(cx, 230, 30);
myGLCD.printNumI(cy, 230, 180);

}

Причем, вижу по Yes\No что на прикосновения реагирует, а вот координаты получить не могу, нули там... Подскажите пожалуйста что не так делаю

jjdrive
Offline
Зарегистрирован: 16.11.2012

Попробуй так

void setup()

{

  myGLCD.InitLCD(LANDSCAPE);
  myGLCD.clrScr();
  myGLCD.setFont(SmallFont);
  myTouch.InitTouch();
  myTouch.setPrecision(PREC_LOW);

 }

void readCoordinates()
{
  unsigned long tx=1;
  unsigned long ty=1;
  int dx=0;
  while (myTouch.dataAvailable() == true)
  { 

      dx++;
      myTouch.read();
      tx += myTouch.TP_X;
      ty += myTouch.TP_Y;
      myGLCD.print("YES", 30, 30);
  }
  myGLCD.print("NO", 30, 50);
  cx = tx  / dx;
  cy = ty  / dx;
 
}

void loop()
{
readCoordinates();

myGLCD.printNumI(cx, 70, 30);
myGLCD.printNumI(cy, 70, 50);

}