Главная> Блог> Экспертиза экрана с сенсорным экраном

Экспертиза экрана с сенсорным экраном

February 25, 2025

Сенсовые экраны встроенного устройства можно разделить на пять категорий в соответствии с их техническими принципами: чувствительность вектора давления, резистивное, емкостное, инфракрасное и поверхностное акустическая волна. Среди них резистивные сенсорные экраны в основном используются во встроенных системах. Резистивные сенсорные экраны можно разделить на четыре линии, пять линий и семь линий. В целом, дизайн и реализация драйвера с сенсорным экраном Wince имеет следующие шаги:

(1) Настройка и инициализация сенсорного экрана

Драйвер сенсорного экрана вызовет функцию TouchPanElenable во время процесса инициализации. Функции DDSI, вызванные этой функцией, являются ddsitouchPanelenable и ddsitouchPanelDiSable. Эти две функции интерфейса DDSI являются ключом к реализации драйвера, которые используются для включения и выключения аппаратного обеспечения сенсорного экрана. Но для того, чтобы уменьшить энергопотребление, эти две функции могут на самом деле не управлять аппаратным обеспечением, а только внедрить управление программным обеспечением. В то же время эти конфигурации и инициализации должны быть выполнены во время инициализации: один из них заключается в создании событий HtouchPaneLevent и HcalibrationsAmplaailable, первое запускается, когда нажимается сенсорный ручку или данные необходимо собирать регулярно после того, как нажимают при нормальных условиях; А последнее находится в состоянии калибровки, он запускается при вводе калибровочных данных. Второе - проверить прерывания gintrtouch (прерывание сенсорного экрана) и gintrtouchchanged (прерывание таймера), необходимые для инициализации, и связывать эти два прерывания с событием htouchpanelevent. Третий - создать TouchPanelPisr ISR TruckPanelPisr, используемый для ожидания и обработки событий сенсорного экрана HtouchPaneLevent, это также единственный источник событий во всем драйвере.

(2) Калибровать параметры опорного экрана

После завершения предыдущей утомительной работы различные функции драйвера готовы, и теперь вы действительно можете управлять сенсорным экраном. Но, вообще говоря, резистивный сенсорный экран должен быть откалиброван, что означает, что уровень MDD вызывает соответствующую функцию DDSI для считывания данных поправочных данных в реестре для исправления сенсорного экрана во время процесса запуска драйвера. В идеале, процедура калибровки необходимо выполнить только один раз во время начального теста включения встроенного устройства, а опорное значение будет сохранено в нелетучих памяти, чтобы предотвратить повторное перекалибрование пользователей во время запуска включения. Тем не менее, высококачественный драйвер с сенсорным экраном должен предоставить пользователям способ ввести процедуру калибровки для перекалибровки, когда калибровка неточна из-за дрейфа температуры или других факторов. В идеале, для исправления ссылки на сенсорный экран необходимы только два набора необработанных данных, то есть минимальные и максимальные значения считываются по диагонали по всему экрану. Но в практических применениях, потому что многие резистивные сенсорные экраны имеют очевидную нелинейность, если только простое значение позиции вставки между минимальными и максимальными значениями приведет к очень неточному водителю. Следовательно, в Wince необходимо приобрести несколько точек калибровки, а количество часто используемых калибровочных точек составляет 5.

Метод: ① Во -первых, драйвер устанавливает количество точек калибровки в функции ddsitouchpanelgetdevicecaps; ② - это система для получения координат экрана каждой точки калибровки в TouchDriverCalibrationPointget; ③ Для отображения символа позиции на координатах точки калибровки интерфейса экрана пользователь точно нажимает на сенсорный экран на символе положения; ④ Драйвер считывает соответствующее значение координаты сенсорного экрана через функцию TouchPanelReadCalitibrationPoint; ⑤ Затем запускает следующую точку калибровки до тех пор, пока количество координат сенсорного экрана и экрана точки калибровки не будет собираться после того, как количество циклов, установленных, координаты будут отправлены на функцию TouchPanelsetCalibration для обработки. Эта функция будет генерировать эталонные параметры калибровки. После завершения калибровки сенсорный экран может начать нормальную работу.

(3) Определите, затронут ли экран

После завершения настройки аппаратного обеспечения сенсорного экрана, инициализации и калибровки параметров эталонных параметров необходим надежный метод, чтобы определить, был ли экран.

Wince предоставляет механизм обнаружения для того, затронут ли экран, а также может выбрать, прервать ли основной процессор, когда происходит событие сенсорного события. Имя функции драйвера, которое определяет, коснутся ли экран waitfortouchstate (). Прерывание, которое разбудит хост, когда экран сначала трогается, называется прерывание Pen_down. Это позволяет драйверу прервать свое выполнение, когда экран не коснутся, не потребляя ресурсы ЦП, и как только пользователь касается экрана, драйвер проснулся и входит в режим преобразования.

После разбуждения существует группа аналого-цифровых данных, ожидающих преобразования, и генерируется сигнал прерывания. Прерывания являются важным методом борьбы с аппаратным и программным обеспечением, поэтому большинство драйверов включают обработку прерываний. Что касается обработки прерываний, Wince использует уникальный подход. Он делит обработку прерывания на два шага: подпрограмма службы прерывания (ISR) и потока службы прерывания (IST). В частности, запрос прерывания устройства (IRQ) каждого оборудования связан с ISR. Когда происходит прерывание и не замаскируется, ядро ​​вызывает ISR, зарегистрированную прерыванием. Поскольку ISR работает в режиме ядра, он должен быть разработан как можно более коротким. Основная ответственность ISR - направить ядро ​​запланировать и начать соответствующий IST. IST записывается в программном модуле драйверов устройства, который получает или отправляет данные и код управления из аппаратного обеспечения, а также дальнейшие прерывания устройств обрабатывают.

Драйвер сенсорного экрана Wince использует метод прерывания для обнаружения нажатого состояния сенсорной ручки. Когда обнаруживается прерывание, сгенерированное при нажатии на сенсорную ручку, событие запускается, чтобы уведомлять рабочую поток для начала сбора данных. В то же время драйвер откроет аппаратный таймер, если он обнаружит, что сенсорный ручка все еще нажимается, он периодически запускает то же событие, чтобы уведомить поток работника, чтобы продолжить сбор данных до тех пор, пока не будет поднят сенсорная ручка, а затем закроет таймер. Проще говоря, драйвер будет использовать два источника прерывания прерывания сенсорного экрана и одновременно прерывание таймера. Цель состоит не только в том, чтобы контролировать прессованное и поднятое состояние сенсорной ручки, но и обнаружение траектории перетаскивания при нажатии на сенсорную ручку. Два логических прерывания сенсорного экрана прерывания: sysintr_touch используется для генерации соответствующего прерывания, когда нажатие на сенсорную ручку на сенсорном экране; Sysintr_touch_change используется для генерации соответствующего прерывания, когда сенсорная ручка уходит.

В идеале, для исправления ссылки на сенсорный экран необходимы только два набора необработанных данных, то есть минимальные и максимальные значения считываются по диагонали по всему экрану. Но в практических применениях, потому что многие резистивные сенсорные экраны имеют очевидную нелинейность, если только простое значение позиции вставки между минимальными и максимальными значениями приведет к очень неточному водителю. Следовательно, в Wince необходимо приобрести несколько точек калибровки, а количество часто используемых калибровочных точек составляет 5.

Метод: ① Во -первых, драйвер устанавливает количество точек калибровки в функции ddsitouchpanelgetdevicecaps; ② - это система для получения координат экрана каждой точки калибровки в TouchDriverCalibrationPointget; ③ Для отображения символа позиции на координатах точки калибровки интерфейса экрана пользователь должен точно нажать на сенсорный экран на символе положения; ④ Драйвер считывает соответствующее значение координаты сенсорного экрана через функцию TouchPanelReadCalitibrationPoint; ⑤ Затем запускает следующую точку калибровки до тех пор, пока количество координат сенсорного экрана и экрана точки калибровки не будет собираться после того, как количество циклов, установленных, координаты будут отправлены на функцию TouchPanelsetCalibration для обработки. Эта функция будет генерировать эталонные параметры калибровки. После завершения калибровки сенсорный экран может начать нормальную работу.

Свяжитесь с нами

Автор:

Mr. James

Электронная почта:

james@esenlcd.com

Phone/WhatsApp:

++86 13924613564

Популярные продукты
Вам также может понравиться
Связанные категории

Письмо этому поставщику

Тема:
E-mail:
Сообщение:

Ваше сообщение MSS

Свяжитесь с нами

Автор:

Mr. James

Электронная почта:

james@esenlcd.com

Phone/WhatsApp:

++86 13924613564

Популярные продукты
We will contact you immediately

Fill in more information so that we can get in touch with you faster

Privacy statement: Your privacy is very important to Us. Our company promises not to disclose your personal information to any external company with out your explicit permission.

Отправить