реклама на сайте
подробности

 
 
> ADS7843 помогите разобраться
batisto4ka
сообщение Aug 26 2012, 15:17
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Помогите, пожалуйста, примером кода, как работать с тачскрином ads7843e. Есть плата SK-WF43BTIBEDOTP-Plug. Там TFT с данным тачскрином. По примерам в нете настраиваю spi. В результате при касании к экрану срабатывает прерывание, настроенное на PENIRQ. Но при опрашивании координат всегда возвращается 0. Опрашиваю координаты командами 0х9С и 0хDC.
Алгоритм такой: обработчик прерывания от PENIRQ устанавливает флаг TOUCH_FLAG.В основном цикле идет проверка флага и считывание координат х и у следующим образом:
Код
if (TOUCH_FLAG)
  {
   TOUCH_FLAG=o;
   Xpos=WriteSPI(SPI1,0x9C);
   Ypos=WriteSPI(SPI1,0xDC);
  }

//
uint8_t WriteSPI(SPI_TypeDef *SPIx, uint8_t val)
{ SPIx->DR=val;
while(!(SPI1->SR&SPI_SR_RXNE));
return SPI1->DR;
}

В качестве мастрева использую камень stm32f107vc(плата SK-mstm32f107)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sasamy
сообщение Aug 28 2012, 10:43
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(batisto4ka @ Aug 26 2012, 19:17) *
Помогите, пожалуйста, примером кода, как работать с тачскрином ads7843e. Есть плата SK-WF43BTIBEDOTP-Plug. Там TFT с данным тачскрином.


Посмотрите драйвер в ядре Linux
http://lxr.free-electrons.com/source/drive...creen/ads7846.c
там можете найти полезные дефайны и пример как фильтровать "отскоки", но вам все равно нужно калибровать показания, можете тут посмотреть теорию
http://www.ti.com/lit/an/slyt277/slyt277.pdf
у AD где-то аппнот есть на эту тему. Вы настраиваете АЦП на 8 бит, а экран у вас 480x272 - лучше 12 бит использовать.

Сообщение отредактировал sasamy - Aug 28 2012, 10:44
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 08:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016