Каталог

КАК ЭТО РАБОТАЕТ

Быстрый старт

Варианты связи с контроллером

Редактор графического интерфейса

Как получить исходный код

Как использовать графический интерфейс для своей задачи

Дополнительные функции библиотеки

Элементы управления

Элементы индикации

Элементы оформления

Модули связи

Библиотека

Как перенести интерфейс в IDE FLProg

Обновление прошивки ESP8266

Кнопка



Элемент управления "Кнопка" размещается в поле графического интерфейса и передает в контроллер информацию о своем нажатии. Нажатие кнопки осуществляется касанием по элементу на экране. Кнопки может быть отображена как круглая, квадратная и может содержать произвольный текст.

Структура данных


ДанныеТипЗначение
Состояние кнопкиunsigned char0 - кнопка не нажата
1 - кнопка нажата

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

Настройка

Свойства кнопки позволяют на этапе проектирования задать следующие значения:

  • Имя переменной - имя кнопки и переменной в исходном коде для микроконтроллера, допускается задавать имя по правилам именования переменных языка C.
  • Надпись на кнопке - задается надпись на кнопке. По умолчанию это большая буква "X". Допускается задавать на любом языке.
  • Привязать к выводу - можно указать, к какому выводу контроллера подключить кнопку, или не подключать ее. Если кнопка подключена к выводу, то будет сформирован дополнительный код по управлению выводом микроконтроллера от нажатия кнопки.

Примеры программирования

Общий пример, показывающий, как проверить текущее состояние кнопки, нажата она или нет:

if (RemoteXY.button_1!=0) { /* кнопка нажата */ } else { /* кнопка не нажата */ }

Следующий пример показывает, как можно управлять выводом микроконтроллера с номером PIN_BUTTON, используя элемент управления - кнопку.

Код для Arduino IDE:

if (RemoteXY.button_1!=0) digitalWrite(PIN_BUTTON, HIGH); else digitalWrite(PIN_BUTTON, LOW);