Artery Encoder
Чтение квадратурного энкодера через таймер микроконтроллера.
Тип: CFunction
|
Путь в библиотеке:
|
Описание
| Для работы с блоком установите/обновите пакет поддержки оборудования. |
Блок Artery Encoder используется для чтения квадратурного энкодера, подключенного к каналам таймера в режиме энкодера. На первом шаге таймер запускается в режиме энкодера. Значение счетчика таймера выводится на выход блока.
Конфигурирование AT32 Workbench
AT32 Workbench не генерирует код для режима энкодера автоматически. Требуется ручная вставка вызова tmr_encoder_mode_config() в пользовательской секции сгенерированного файла wk_tmr.c.
-
В AT32 Workbench выберите нужный таймер.
-
Настройте два канала таймера как входы:
-
для Channel1 mode установите
Input direct mode; -
для Channel2 mode установите
Input direct mode; -
для остальных каналов установите
Disable.

-
-
Настройте параметры счетчика в Counter Settings:
-
Period Value (ARR) — разрешение энкодера.

-
-
Сгенерируйте проект (Generate Code).
-
Откройте сгенерированный файл
project/src/wk_tmr.c, найдите функциюwk_tmrX_init()(гдеX— номер вашего таймера) и добавьте вызовtmr_encoder_mode_config()в пользовательской секции перед инициализацией GPIO:/* add user code begin tmrX_init 1 */ tmr_encoder_mode_config(TMRX, TMR_ENCODER_MODE_C, TMR_INPUT_RISING_EDGE, TMR_INPUT_RISING_EDGE); /* add user code end tmrX_init 1 */Здесь
TMR_ENCODER_MODE_C— режим квадратурного энкодера (счет по обоим каналам). Доступные режимы:Режим Описание TMR_ENCODER_MODE_AСчет по фронтам TI1
TMR_ENCODER_MODE_BСчет по фронтам TI2
TMR_ENCODER_MODE_CСчет по обоим каналам (TI1+TI2) — для квадратурного энкодера
Порты
Выход
#
Count
—
значение счетчика энкодера
скаляр
Details
| Типы данных |
|
| Поддержка комплексных чисел |
Нет |
Параметры
Main group
#
Таймер: —
номер таймера микроконтроллера
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 20
Details
| Значения |
|
| Значение по умолчанию |
|
| Имя для программного использования |
|
| Настраиваемый |
Нет |
| Вычисляемый |
Да |
