Кстати у PIC тоже "двухпроводный" интерфейс (в примитиве), да и у STC/silabs продукции на базе MCS51 вроде тоже ...
Ждемс следующую мисочку желчи...
Гордитесь!BOB51 писал(а):Звание ЛОХ звучит гордо!![]()
И что? Это позволило вам освоить PIC24/32? Нет?Кстати у PIC тоже "двухпроводный" интерфейс (в примитиве), да и у STC/silabs продукции на базе MCS51 вроде тоже ...![]()
Сколько угодно, обращайтесь!Ждемс следующую мисочку желчи...![]()
Для меня пока и 16/18 серий пикачей вполне достаточно - только в начале освоения, а на 24ю тратится на программер ЖАБО, да и смд+3,3 вольтовые микрухи в обвязке (опять же не для простолюбителя).nahimovv писал(а): И что? Это позволило вам освоить PIC24/32? Нет?![]()
Это тоже в данном случае считается внешней логикой "монтажное ИЛИ". Речь о том, как сделать частотомер внутренними средствами STM32. Некоторые кричат, что это просто, а на самом деле даже при такой развитой периферии частотомер получается лишь через одно место.РадиоЛоматель писал(а):Если уж задаться целью вообще без внешней логики, то я бы сделал так
Не понял. SysTick->VAL - это же текущее значение счета. Вы хотели сказать, при DelayTicks >= SysTick->LOAD? Это так, задержка только до 1 мс.Леонид Иванович писал(а):Но не сработает, если DelayTicks >= 2 * SysTick->VAL
Я не вижу, как возможные связи между таймерами могут помочь.dosikus писал(а):У меня создается впечатление ,что ЛИ видит периферию STM , как совершенно раздельные модули , связанные меж собой только софтово и только через ядро . ЛИ , это так ?
Думаете, я не знаю про Gated Mode? Но здесь загвоздка в том, что один таймер должен работать в режиме счета внешних импульсов.nahimovv писал(а):Да не тупите так безбожно, оба, срам! Прочтите хоть раз референс, наконец то! Есть режим Gated Mode!
"Мерять частоту" - это слишком громко сказано. Устал повторять, что речь идет не о примитивном методе прямого счета, а о Reciprocal Counting.nahimovv писал(а):Даже в простенькой STM8L15X можно рулить 3-мя таймерами одновременно и мерять частоту по 3-ём входам без внешних навесок и соединений!![]()
![]()
На примитивном AVR кстати, этот метод реализуется на двух таймерах элементарно. Считает до частоты в половину тактовой.а о Reciprocal Counting.
Без внешней логики тоже не реализуется. Или Вы знаете способ?Goodefine писал(а):На примитивном AVR кстати, этот метод реализуется на двух таймерах элементарно. Считает до частоты в половину тактовой.
Тут подробно все расписано. Из внешней логики только соединение вместе двух пинов снаружи. Если, конечно, Вы этот режим имеете ввиду. Во всяком случае, разрешение в один такт клока CPU достигаетсяИли Вы знаете способ?
Ну так потратьте время, почитайте референс, абстрагируйтесь от АВР, разберите примеры без SPL. Там же всё подробно расписано!Леонид Иванович писал(а): Я не вижу, как возможные связи между таймерами могут помочь.
Каким боком одно к другому? Не знаете? Gated Mode это управление таймером вкл/выкл, а режим счета внешних импульсов это по сути управление тактированием.Думаете, я не знаю про Gated Mode? Но здесь загвоздка в том, что один таймер должен работать в режиме счета внешних импульсов.
Да, там всё просто. Просто это нужно осознать.Леонид Иванович писал(а): Речь о том, как сделать частотомер внутренними средствами STM32. Некоторые кричат, что это просто, а на самом деле даже при такой развитой периферии частотомер получается лишь через одно место.
Нет, то решение не позволяет работать до 1/2 тактовой. Вот здесь было обсуждение: http://pro-radio.ru/controllers/5978/. Требуется внешняя логика, а не просто соединение двух пинов. Да и то ни одна программная реализация пока не доказала возможности работы до 1/2 тактовой. Проблема в адекватном выборе пар чисел N и M (числа входных импульсов и импульсов заполнения). Изредка представленные алгоритмы дают ошибку.Goodefine писал(а):Тут подробно все расписано. Из внешней логики только соединение вместе двух пинов снаружи.
Да перестаньте Вы как попугай Попка повторять "всё просто". Никто еще не сделал нормальной реализации частотомера на периферии STM32. Вариант, предложенный HHIMERA, вроде, рабочий, но его не назовешь простым и изящным. Он имеет кривизну в виде пробного измерения или перезагрузки ARR на лету.nahimovv писал(а):Да, там всё просто. Просто это нужно осознать.
Попугай здесь один - ЛИ! Нельзя, нельзя! Вы пробовали? Нет? Тогда чего тарабарщину тут разводить?Леонид Иванович писал(а): Да перестаньте Вы
Ничего подобного там нет! Был просто озвучен "как вариант", а вы в него вцепились и трубите не понимая!
Он имеет кривизну в виде пробного измерения или перезагрузки ARR на лету.
Я не буду спорить, поскольку Вы то решение изучили наверняка лучше чем я, но после прочтения той ветки я делал тестовый проект, и в модели частоты до 1/2 тактовой измерялись с сумасшедшей точностью. Посмотрел сейчас, куда задевал тестовый проект не знаюЛеонид Иванович писал(а): Нет, то решение не позволяет работать до 1/2 тактовой.
Что значит "нет"? Я процитировл ту ветку. Если это только один вариант, озвучьте свой. Вы же утверждаете, что всё просто. Расскажите тогда, как именно?nahimovv писал(а):Ничего подобного там нет! Был просто озвучен "как вариант", а вы в него вцепились и трубите не понимая!![]()
![]()
В модели или на макете? Это большая разница. К тому же, чтобы заметить ошибку, результаты нужно писать в файл.Goodefine писал(а):в модели частоты до 1/2 тактовой измерялись с сумасшедшей точностью.
Что, "Смотрю в книгу, вижу фигу!"? Хватит дурака включать и разъезжать на танке! Там был основное условие - с минимум таймеров! Никто не мешает вам добавить ещё один таймер, таймер ворот! Знаю, сейчас будет истерика, что такой частотомер никому не нужен, что отнимает много таймеров, а ваш "гроб на CPLD" кому-то нужен?Леонид Иванович писал(а): Что значит "нет"? Я процитировл ту ветку. Если это только один вариант, озвучьте свой. Вы же утверждаете, что всё просто. Расскажите тогда, как именно?
Не было там такого условия. Хорошо, добавим таймер ворот. Что это даст? Для таймера, который считает импульсы опорной частоты, ворота должны быть равны по длительности целому числу периодов входной частоты. Как это получить?nahimovv писал(а):Там был основное условие - с минимум таймеров! Никто не мешает вам добавить ещё один таймер, таймер ворот!
Мою конструкцию частотомера повторило довольно много людей, отзывы самые положительные, можете посмотреть на cqham.ru.nahimovv писал(а):а ваш "гроб на CPLD" кому-то нужен?
А я поражаюсь Вашему хамству. Если утверждаете, что можно, давайте по пунктам. Нужно сделать следующее:nahimovv писал(а):А вообще, ЛИ, я поражаюсь вашему дебилизму, прогрессирующему по видимому. Вам говорят, что можно сделать частотомер - вы с бодуна утверждаете, что нет!
Я не истерю, я просто говорю, что не надо перекладывать на хард то, с чем справится софт.nahimovv писал(а):Вам говорят, что проще многое делать хардварно, вы истерите, что это и нафиг не нужно!
Хотите выступить в роли психолога?nahimovv писал(а):Или осознали, что все ваши знания обесценились
Выше обозначено 5 пунктов алгоритма, прошу их расписать в терминах таймеров STM32.dosikus писал(а):Какие еще доказательства тебе предоставлять? Все сделано и работает .
Давайте я Вам лучше сразу ключ отдам .Леонид Иванович писал(а):
Выше обозначено 5 пунктов алгоритма, прошу их расписать в терминах таймеров STM32.
Ну-ну!BOB51 писал(а): Не стоит быть столь самоуверенным сторонником "прогресса" ибо всегда найдется кто-то кто Вас ткнет носом об стол...
Хватит бредить! Вы, в руках не державший STM32, пытаетесь о чём-то судить, смело! Вам просто что-то хотелось написать? Понимаю!Нападки на Леонид Ивановича либо на кого другого с обвинением в незнании предмета в абсолюте просто потому, что удалось самому "вершков" нахватать...
Да мне пофигу! ЛИ тоже так считал, и что теперь, видите?В то же время мне Ваш STM32 (да и другие АРМы или чего еще) абсолютно без надобности на данный момент.