Генерация меандр

fsdb
Offline
Зарегистрирован: 24.10.2015

Добрый день.

Задача. послать драйверу шагового двигателя определенное число импульсов и после чего больше никаких импульсов не поступает.

моих знаний хватает только на посчитать digitalWrite 1 и 0 в loop, но так не пойдет.

Нужно сделать на таймерах наверное. Я с ними ну совсем не дружу. может быть у кого есть готовая наработка и поделится?

если уж нет попробую создать тему в другом разделе где за деньгу.

 

 

 

Kakmyc
Offline
Зарегистрирован: 15.01.2018
fsdb
Offline
Зарегистрирован: 24.10.2015

 

мне понравилась идея rkit

он писал:

один таймер генерирует с выводом на пин, второй таймер считает импульсы на пине

Поскольку я не разбираюсь в импульсах, использую библиотеку гайвера. там можно любую частоту сгенерировать.

https://alexgyver.ru/gyvertimers/

нужно запаять пин генерирующий импульсы с другим пином с которого будет второй таймер считать их и по достижению останавливать его

 

fsdb
Offline
Зарегистрирован: 24.10.2015

по идее тут нужно просто использовать attachInterrupt(interrupt, function, mode) 

И при переходах состояния просто считать количество импульсов при достижении которых остановить таймер!

fsdb
Offline
Зарегистрирован: 24.10.2015

имеет право на жизнь такой вариант?

Upper
Offline
Зарегистрирован: 23.06.2020

Если не хотите разбираться с таймерами, то можно так.

Если хотите немного разобраться с таймерами и ISR, то приведенная вам библиотека их поддерживает, и можно считать используя прерывание таймера.

b707
Offline
Зарегистрирован: 26.05.2017

Считать импульсы в прерывании не лучший вариант, прерывание вещь медленная