Это старая версия документа!
Нажатие и удержание
Этот блок может использоваться для таких функций, как кнопка, для обработки входа GPIO с целью создания импульсов в ответ на нажатие или удержание кнопки пользователем.
Типичным применением является регулятор громкости, состоящий из двух кнопок: одной для увеличения и другой для уменьшения.
Перетащите блок в рабочую область.
Щелкните по нему правой кнопкой мыши и выберите алгоритм:
Установите параметры в соответствии с вашим приложением:
| Удержание (ms) | Определяет, как долго сигнал удерживается перед генерацией повторяющихся импульсов. |  |
| Повтор (ms) | Задает интервал между повторяющимися импульсами. Введите время в миллисекундах в это поле. |  |
Примечание: Для изображения выше справа был выбран алгоритм push_hold. Используйте push/hold 2-in 2-out для обработки двух входов
GPIO, например, один для увеличения и один для уменьшения. Push/hold with mute работает аналогично, но с дополнительной функцией: если нажаты обе кнопки, генерируется импульс mute (нижний выходной пин). Для отключения mute можно нажать любую из кнопок.
Push and Hold в SigmaStudio: настройка и параметры
Push and Hold — это блок обработки сигналов GPIO в среде SigmaStudio для цифровых сигнальных процессоров ADAU от Analog Devices. Он предназначен для преобразования длительного нажатия кнопки в серию импульсов, что позволяет реализовать функции, требующие повторяющегося действия, например, плавное изменение громкости. Принцип работы блока основан на двух ключевых параметрах, задаваемых в миллисекундах. Параметр «Удержание» определяет, как долго сигнал должен удерживаться после нажатия, прежде чем начнут генерироваться повторяющиеся импульсы. Параметр «Повтор» задает интервал между этими импульсами. Таким образом, короткое нажатие создает один импульс, а удержание кнопки — непрерывную последовательность с заданной частотой. Для настройки в проекте SigmaStudio перетащите блок в рабочую область и выберите один из алгоритмов. Алгоритм push_hold подходит для одиночного входа GPIO. Для реализации двухкнопочного регулятора громкости используйте вариант push/hold 2-in 2-out, где один вход отвечает за увеличение, а другой — за уменьшение уровня. Алгоритм push/hold with two-button mute добавляет дополнительную логику: при одновременном нажатии обеих кнопок на нижнем выходном пине формируется импульс mute, а повторное нажатие любой кнопки снимает режим отключения звука. При проектировании сигнальной цепочки учитывайте, что блок работает с логическими уровнями GPIO и не требует настройки частоты дискретизации.