Вопрос по ArduCAM_Touch
- Войдите на сайт для отправки комментариев
Пнд, 25/02/2013 - 20:30
Всем добрый день! Помогите пожалуйста, с ибея взял дисплейчик с тачскрином, с выводом на него разобрался, работает через 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 что на прикосновения реагирует, а вот координаты получить не могу, нули там... Подскажите пожалуйста что не так делаю
Попробуй так
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);
}