Touch Panel Library

MikroPascal PRO для ARM предоставляет библиотеку для работы с сенсорной панелью.

Дерево зависимостей библиотеки

Touch Panel Library Dependency Tree

Внешние зависимости Touch Panel Library

Stellaris

Следующие переменные должны быть определены во всех проектах с использованием библиотеки сенсорной панели: Описание: :
var DriveA : sbit; sfr; external; DriveA линия. var DriveA : sbit at GPIO_PORTB_DATA4_bit;
var DriveB : sbit; sfr; external; DriveB линия. var DriveB : sbit at GPIO_PORTE_DATA0_bit;
var DriveA_Direction : sbit; sfr; external; Направление вывода DriveA. var DriveA_Direction : sbit at GPIO_PORTB_DIR4_bit;
var DriveB_Direction : sbit; sfr; external; Направление вывода DriveB. var DriveB_Direction : sbit at GPIO_PORTE_DIR0_bit;

MSP432

Следующие переменные должны быть определены во всех проектах с использованием библиотеки сенсорной панели: Описание: :
var DriveA : sbit; sfr; external; DriveA линия. var DriveA : sbit at DIO_P6OUT.B0;
var DriveB : sbit; sfr; external; DriveB линия. var DriveB : sbit at DIO_P6OUT.B1;
var DriveA_Direction : sbit; sfr; external; Направление вывода DriveA. var DriveA_Direction : sbit at DIO_P6DIR.B0;
var DriveB_Direction : sbit; sfr; external; Направление вывода DriveB. var DriveB_Direction : sbit at DIO_P6DIR.B1;

STM32

Следующие переменные должны быть определены во всех проектах с использованием библиотеки сенсорной панели: Описание: :
var DriveA : sbit; sfr; external; DriveA линия. var DriveA : sbit at GPIOB_ODR.B1;
var DriveB : sbit; sfr; external; DriveB линия. var DriveB : sbit at GPIOB_ODR.B0;

CEC1x02

Следующие переменные должны быть определены во всех проектах с использованием библиотеки сенсорной панели: Описание: :
var DriveA : sbit; sfr; external; DriveA линия. var DriveA : sbit at GPIO_OUTPUT_PIN_047_bit;
var DriveB : sbit; sfr; external; DriveB линия. var DriveB : sbit at GPIO_OUTPUT_PIN_147_bit;

Библиотечные процедуры

TP_Init

Прототип

procedure TP_Init(display_width : word; display_height : word; readX_ChNo : byte; readY_ChNo : byte);

Описание

Инициализируйте дисплей сенсорной панели. Значение порога ADC по умолчанию для сенсорной панели установлено на 3900.

Параметры
  • display_width: устаовка ширины дисплея.
  • display_height: устаовка высоты дисплея.
  • readX_ChNo: чтение координаты X из желаемого канала АЦП.
  • readY_ChNo: чтение координаты Y из желаемого канала АЦП.
Возвращает

Ничего

Требует

Перед вызовом этой функции инициализируйте модуль ADC.

Example
ADC1_Init();               // Инициализируем модуль АЦП
TP_Init(128, 64, 6, 7);    // Инициализируем сенсорную панель, размеры 128x64
Замечания

Нет.

TP_Set_ADC_Threshold

Прототип

procedure TP_Set_ADC_Threshold(threshold : word);

Описание

Задайте настраиваемое пороговое значение АЦП, вызовите эту функцию послеTP_Init.

Параметры
  • threshold: пользовательское пороговое значение АЦП.
Возвращает

Ничего

Требует

TP_Initнеобходимо вызвать перед использованием этой процедуры.

Example
TP_Set_ADC_Threshold(3900);    // Устанавливаем порог ADC сенсорной панели
Замечания

Нет.

TP_Press_Detect

Прототип

function TP_Press_Detect() : byte;

Описание

Обнаруживает, нажата ли сенсорная панель.

Параметры

Нет.

Возвращает
  • 1 - если нажата сенсорная панель.
  • 0 - в противном случае
Требует

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

Example

Stellaris

// Подключение к сенсорной панели
var DriveA : sbit at GPIO_PORTB_DATA4_bit;
    DriveB : sbit at GPIO_PORTE_DATA0_bit;
    DriveA_Direction : sbit at GPIO_PORTB_DIR4_bit;
    DriveB_Direction : sbit at GPIO_PORTE_DIR0_bit;
// Конец модуля подключения к сенсорной панели

if (TP_Press_Detect() <> 0) then
  begin
  ...
  end;

MSP432

// Подключение к сенсорной панели
var DriveA : sbit at DIO_P6OUT.B0;
    DriveB : sbit at DIO_P6OUT.B1;
    DriveA_Direction : sbit at DIO_P6DIR.B0;
    DriveB_Direction : sbit at DIO_P6DIR.B1;
// Конец модуля подключения к сенсорной панели

if (TP_Press_Detect() <> 0) then
  begin
  ...
  end;

STM32

// Подключение к сенсорной панели
var DriveA : sbit at GPIOB_ODR.B1;
    DriveB : sbit at GPIOB_ODR.B0;
// Конец модуля подключения к сенсорной панели

if (TP_Press_Detect() <> 0) then
  begin
  ...
  end;

CEC1x02

// Подключение к сенсорной панели
var DriveA : sbit at GPIO_OUTPUT_PIN_047_bit;
    DriveB : sbit at GPIO_OUTPUT_PIN_147_bit;
// Конец модуля подключения к сенсорной панели

if (TP_Press_Detect() <> 0) then
  begin
  ...
  end;
Замечания

Нет.

TP_Get_Coordinates

Прототип

function TP_Get_Coordinates(x_coordinate : ^word; y_coordinate : ^word) : byte;

Описание

Получает координаты сенсорной панели и сохраните их в параметрах x_coordinate и y_coordinate.

Параметры
  • x_coordinate: x-координата места касания.
  • y_coordinate: y-координата места касания.
Возвращает
  • 0 - если полученное значение находится в пределах диапазона измерений дисплея.
  • 1 - если полученное значение находится вне пределов диапазона измерений дисплея.
Требует

Ничего

Example
if (TP_Get_Coordinates(@x_coord, @y_coord) = 0) then
  begin
  ...
  end;
Замечания

Нет.

TP_Calibrate_Bottom_Left

Прототип

procedure TP_Calibrate_Bottom_Left();

Описание

Откалибрует нижний левый угол сенсорной панели.

Параметры

Нет.

Возвращает

Ничего

Требует

Ничего

Example
TP_Calibrate_Bottom_Left();    // Calibration of bottom left corner
Замечания

Нет.

TP_Calibrate_Upper_Right

Прототип

procedure TP_Calibrate_Upper_Right();

Описание

Откалибрует верхний правый угол сенсорной панели.

Параметры

Нет.

Возвращает

Ничего

Требует

Ничего

Example
TP_Calibrate_Upper_Right();    // Calibration of upper right corner
Замечания

Нет.

TP_Get_Calibration_Consts

Прототип

procedure TP_Get_Calibration_Consts(x_min : ^word; x_max : ^word; y_min : ^word; y_max : ^word);

Описание

Получает константы калибровки после завершения калибровки и сохраняет их в параметрах x_min, x_max, y_min и y_max.

Параметры
  • x_min: x-координата нижнего левого угла рабочей области.
  • x_max: x-координата верхнего правого угла рабочей области.
  • y_min: y-координата нижнего левого угла рабочей области.
  • y_max: y-координата верхнего правого угла рабочей области.
Возвращает

Ничего

Требует

Ничего

Example
TP_Get_Calibration_Consts(@x_min, @x_max, @y_min, @y_max);    // Get calibration constants
Замечания

Нет.

TP_Set_Calibration_Consts

Прототип

procedure TP_Set_Calibration_Consts(x_min : word; x_max : word; y_min : word; y_max : word);

Описание

Устанавливает константы калибровки.

Параметры
  • x_min: x-координата нижнего левого угла рабочей области.
  • x_max: x-координата верхнего правого угла рабочей области.
  • y_min: y-координата нижнего левого угла рабочей области.
  • y_max: y-координата верхнего правого угла рабочей области.
Возвращает

Ничего

Требует

Ничего

Example
TP_Set_Calibration_Consts(148, 3590, 519, 3370);    // Установливаем калибровочные константы
Замечания

Нет.