JAVA и STM32 - курс экспресс-программирования с MicroEJ. Часть седьмая
Встраиваемые системы все чаще оснащены красочными графическими дисплеями. Они обеспечивают управление и настройку устройства, а также представление данных. Это создает необходимость создания приложений на основе графических пользовательских интерфейсов. Среда MicroEJ (JAVA на STM32) содержит библиотеки, облегчающие их подготовку. В этой части серии мы покажем пример простого приложения, написанного на языке JAVA для STM32, позволяющего управлять преобразователями АЦП и ЦАП и отображать полученные результаты на дисплее набора STM32F429I-DISCO.
Подготовка платформы
Платформа, необходимая для запуска описанного приложения, должна содержать несколько модулей. К ним относятся:
MICROUI - поддержка ввода / вывода, MWT - платформа для создания виджетов, таких как кнопки, ползунки, текстовые поля и т. Д., SNI - вызов функции C из приложения Java.
Упомянутые модули включают в себя платформу Full, расположенную в среде MicroEJ (рисунок 1).
Рис. 1. Платформа Full содержит модули, необходимые для этого проекта.
Библиотека виджетов
При создании приложения стоит использовать существующие модули и библиотеки, которые предоставляют готовые решения. Одной из них является библиотека Widgets, содержащая готовые элементы графических интерфейсов. Библиотека примеров общедоступна на github по адресу: https://github.com/MicroEJ/ExampleJava-Widget. Архив с источниками можно скачать, нажав кнопку «Загрузить ZIP» на сайте проекта.
После распаковки архива вы можете импортировать пример проекта в MicroEJ, выбрав «Файл? Импорт», и в появившемся окне выберите «Общие» Существующие проекты в рабочую область (рисунок 2).
Рис. 2. Импорт существующего проекта в MicroEJ
Чтобы проверить возможности библиотеки, просто запустите симуляцию, щелкнув правой кнопкой мыши по вновь импортированному проекту и выбрав «Запуск от имени? Выполнить конфигурации ...». В конфигурации виджетов STM32429I-DISCO Sim на вкладке «Выполнение» выберите предварительно подготовленную платформу и выберите параметр «Выполнить в SimJPF». В открывшемся окне симулятора вы можете протестировать пример приложения Widgets (рисунок 3). Он использует сенсорную панель, которой можно управлять с помощью мыши в симуляторе.
Рис. 3. Пример приложения библиотеки виджетов
Пример использования библиотеки виджетов
Следующим шагом является создание проекта, который использует библиотеку виджетов для управления конвертерами микроконтроллера. Это должно быть сделано, выбрав File? New? Java Project. В окне создания нового проекта введите его название и выберите необходимые модули. На этот раз они будут:
EDC, MICROUI, МВТ, SNI.
Сама библиотека также должна быть добавлена в виджеты проекта, которые находятся в ранее загруженном архиве с сайта github. Вы можете сделать это, щелкнув правой кнопкой мыши по проекту и выбрав Свойства. В списке параметров выберите «Путь сборки Java» и на вкладке «Библиотеки - Добавить внешние JAR-файлы» ... Затем необходимо указать местоположение файла widgets.jar из загруженного архива (рисунок 4).
Рис. 4. Добавление библиотеки widgets.jar в проект
Библиотека Widgets содержит готовые компоненты для создания сложных пользовательских интерфейсов, основанных, среди прочего, на для графических дисплеев и сенсорных панелей. В дополнение к компонентам, которые пользователь использует для взаимодействия с приложением, таким как кнопки и ползунки, библиотека также предоставляет объекты, помогающие в их развертывании на экране.
В листинге 1 приведен пример кода, генерирующего меню для нужд двух преобразователей: ЦАП и АЦП. Все меню создано в основном методе.
|