jenya7 0 23 июня, 2020 Опубликовано 23 июня, 2020 · Жалоба 11 hours ago, Baser said: Чего-то я вашу задачу понять не могу. Зачем вам 4 входа? Как мультиплексор? Таймер все равно имеет только один счетный регистр (таймер это один таймер :)) и в один момент может считать импульсы только от одного входа. Если нужно одновременно считать импульсы на четырех входах - нужно четыре разных таймера. у таймера 4 TIMx capture/compare register - TIMx_CCR1, TIMx_CCR2, TIMx_CCR3, TIMx_CCR4 котрые могут считать в capture режиме. 4 PWM сигнала я могу выдать наружу почему не посчитать по 4 входам? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 23 июня, 2020 Опубликовано 23 июня, 2020 · Жалоба 2 minutes ago, jenya7 said: 4 PWM сигнала я могу выдать наружу почему не посчитать по 4 входам? Простите, а что вы под счётом понимаете? Посчитать количество импульсов? Тогда это физически невозможно, ведь регистр-счётчик один, и имя ему CNT. А если выполнить измерение длины импульсов в тиках таймера, то да, можно. Но это уже не счёт импульсов, а "захват". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 23 июня, 2020 Опубликовано 23 июня, 2020 (изменено) · Жалоба 1 hour ago, haker_fox said: Простите, а что вы под счётом понимаете? Посчитать количество импульсов? Тогда это физически невозможно, ведь регистр-счётчик один, и имя ему CNT. А если выполнить измерение длины импульсов в тиках таймера, то да, можно. Но это уже не счёт импульсов, а "захват". я надеялся что в режиме Timer Input CCRх могут работать как счетчики. вот ESP32. ну красава же. Изменено 23 июня, 2020 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 23 июня, 2020 Опубликовано 23 июня, 2020 · Жалоба 15 minutes ago, jenya7 said: я надеялся что в режиме Timer Input CCRх могут работать как счетчики. В CCRx записываются текущие значения таймера CNT в момент события захвата (по фронту, например). 15 minutes ago, jenya7 said: вот ESP32. ну красава же. Простите, с ним не знаком. Оценить не могу) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 5 23 июня, 2020 Опубликовано 23 июня, 2020 · Жалоба 13 часов назад, jenya7 сказал: я надеялся что в режиме Timer Input CCRх могут работать как счетчики. Можете не надеяться. Максимум что в Input CCRх есть, это делитель на 8. Можно снизить число прерываний в 8 раз в сравнении с простым счетом импульсов по прерываниям порта. Ну и опять же, задачу свою не озвучили, какую частоту нужно считать, с какой точностью и как быстро? Одно дело, когда частота 1 кГц с точностью в 0.0001 Гц и другое дело, когда 10 МГц с точностью 1 Гц. Или включая и то, и другое. Методы измерения будут различные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 24 июня, 2020 Опубликовано 24 июня, 2020 (изменено) · Жалоба 10 hours ago, Baser said: Можете не надеяться. Максимум что в Input CCRх есть, это делитель на 8. Можно снизить число прерываний в 8 раз в сравнении с простым счетом импульсов по прерываниям порта. Ну и опять же, задачу свою не озвучили, какую частоту нужно считать, с какой точностью и как быстро? Одно дело, когда частота 1 кГц с точностью в 0.0001 Гц и другое дело, когда 10 МГц с точностью 1 Гц. Или включая и то, и другое. Методы измерения будут различные. да смысла нет. мне не важно на какое прерывание заходить по внешнему пину или CCRх. а какие методы тут могут быть - или таймер или прерывание. таймер отпадает, если мне нужно несколько каналов я не убью несколько таймеров под эту задачу. Изменено 24 июня, 2020 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 28 июня, 2020 Опубликовано 28 июня, 2020 · Жалоба On 6/24/2020 at 7:13 AM, jenya7 said: да смысла нет. мне не важно на какое прерывание заходить по внешнему пину или CCRх. а какие методы тут могут быть - или таймер или прерывание. таймер отпадает, если мне нужно несколько каналов я не убью несколько таймеров под эту задачу. Вы меня спрашивали тоже по теме четырех входов, ребята ответили уже, что никак, поскольку считает только CNT, а capture registers - только для "слизывания" текущего значения CNT в момент какого-то события. Но STMы имеют много таймеров, старшие камни - вообще очень много, и можно вполне набрать 4 штуки. В одном моем проекте я должен выдавать 4 разных таймерных сигнала, причем стартовать это дело должно синхронно, так я взял 5 таймеров: четыре для генерации сигналов и один как "мастер" для них для синхронизации. И в камне еще остались таймеры (STM32F103RFT6). Не экономьте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться