Как прочитать и сбросить значение высокоскоростного счётчика PMP20?

Проверено экспертом Опубликовано: 15.08.2025 1719 просмотров Помогло 84%

Чтение накопленного значения выполняется только 32-битной командой DMOV, а сброс — командой RST; никакие другие команды с высокоскоростным счётчиком напрямую не работают.

Как это выглядит:

  • DMOV HSC0 D10 — переносит накопленное значение в пару регистров D10, D11.
  • DMOV D20 HSC0 — записывает значение в счётчик, старое содержимое заменяется. Так задают начальное смещение при привязке к нулю.
  • RST HSC0 — сбрасывает и счётчик, и его накопительный регистр.

Ограничение важное: сравнивать значение счётчика напрямую командами вида «больше или равно» нельзя. Сначала DMOV в обычные регистры, потом сравнение — и обязательно 32-битными командами, потому что счётчик двухсловный. Сравнение 16-битной командой даст правильный результат только до 32 767 импульсов, а дальше начнутся необъяснимые срабатывания.

Типовой фрагмент выглядит так: по постоянно включённому условию идёт команда CNT со счётчиком HSC0 и заведомо большой уставкой, рядом по системному меркеру SM0 — команда DMOV HSC0 D0, а дальше уже 32-битные сравнения D0 с уставками включают нужные выходы. Сброс вешают на отдельный меркер: по его нарастающему фронту выполняется RST.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Как прочитать и сбросить значение высокоскоростного счётчика PMP20?