Вариация на тему частотомера (не с целью сделать супер, а с целью изучения таймеров). 2 таймера. Первый отмеряет интервал (TIM1), второй считает такты (TIM2). Хочу чтобы первый запускал и останавливал второй таймер. С TIM1 все понятно. таймеры на 32МГц, делитель 31999, считаем до 199 (200мс), по ITR0 связан с TIM2 (OC2REF1). А вот с TIM2 вопрос. По идее надо его перевести в Slave mode: Gate mode, Trigger Source: ITR0, Clock Source: ETR2. Но беда в том, что как задать External Clock mode 1 вместе с Gate mode? Или же делать через Reset mode для TIM2, и запускать таймер сразу после запуска первого таймера? Но тогда будет же какая-то погрешность между запусками... Или нет?
PS Юзаю HAL. с таким костылем работает - htim2.Instance->SMCR = htim2.Instance->SMCR | 0x7; Но мне кажется, так не правильно...
Куб хорошая и наглядная вещь. Не панацея, но как снижатель порога вхождения - супер! Вопросов тут 2. Как выставить это не битами SMS=111 а через куб. 2. А правильный ли это режим работы в целом? Имею ввиду gate mode и внешнее тактирование от etr2 mode 1.
W201, снижение порога вхождения -это лепет дурачков. Что ты захотел снизить ? Хочешь работать с стм32 -изучай RM, не можешь осилить -сиди на аурдунье. Запомни - ещё раз ,вранье о снижении порога -для дебилов. Если согласен -помогу, нет ищи и дальше снижения порога...
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
W201, понимаешь в чем вся петрушка? И по существу вопроса есть что сказать , и даже готовый код тебе выложить, и даже готовый проект за тебя написать и сдать и деньги за тебя получить.
Вот только , и без имхо, и это уже аксиома -учить тех кто не хочет что-либо знать -бесполезно, а дураков опасно. Так что выбор за тобой...
Куб хорошая и наглядная вещь. Не панацея, но как снижатель порога вхождения - супер! Вопросов тут 2. Как выставить это не битами SMS=111 а через куб. 2. А правильный ли это режим работы в целом? Имею ввиду gate mode и внешнее тактирование от etr2 mode 1.
Все верно, используй куб. Я вполне себе могу написать на регистрах и на асме, но нафиг оно нужно отнимать у себя самого время? Куб и HAL- отличные инструменты. Я уже с их помощью наделал с десяток полезных устройств за копейки в короткое время. На работе модернизировал кучу оборудования. За что получил прибавку к зарплате))) А все эти труЪджедаи сиэмсисные только на потрындеть способны. Хобби у них такое - биты в регистрах выставлять.
Итак
Цитата:
Но беда в том, что как задать External Clock mode 1 вместе с Gate mode?
Почему беда? Попробуй в кубе в чекбоксах каналов для TIM2 выбрать один из режимов Input Capture Видео вот это посмотри
W201, снижение порога вхождения -это лепет дурачков. Что ты захотел снизить ? Хочешь работать с стм32 -изучай RM, не можешь осилить -сиди на аурдунье. Запомни - ещё раз ,вранье о снижении порога -для дебилов. Если согласен -помогу, нет ищи и дальше снижения порога...
Голимый трындеж. Если человек еще не знаком с самой абстракцией(таймеры, I2C, USART) и ее методами и свойствами, нафига ему еще вдобавок убиваться, пытаясь параллельно освоить ее низкоуровневую реализацию? И гадать при этом, почему не работает код, из за непонимания работы самой абстракции или из-за неправильных битов в регистрах. Ты когда телефон покупаешь, его разбираешь сразу и пытаешься изучить, на какие пины контроллера подается напряжение при исходящем вызове?
Если по теме, то идея была в том, что один таймер запускается и останавливается от другого таймера и при этом работает в режиме External Clock mode 1. К сожалению этого сделать нельзя, т.к. это взаимоисключающие режимы slave. Т.е. только одно из двух... А жаль. Несколько человек могли поделится этими знаниями и сохранить мне несколько часов жизни, если бы снизошли до обьяснения этого факта, но нет, пальцерастопырки кому-то важнее...
Я сделал, через pwm Input + DMA. Все валится в массив циклически, а потом раз в N мс высчитывается среднее значение. Также можно через псевдоодновременный запуск двух таймеров, т.е. как я и хотел, но без gate mode. Но мне кажется будет влиять задержка между запусками и остановками таймеров. Она и так есть, согласно документации, но тут будет еще больше, из-за программного а не аппаратного запуска. Да, знаю, прямой счет, не очень точный и так. Обсуждение читал. Но для конкретной задачи мне особая точность не нужна.
Теперь не по теме.
Я с вами и согласен и не согласен.
1. Каждая компания старается снизить порог вхождения в свои продукты. Чтобы охватить и заманить как можно большее кол-во людей. Я не думаю, что все распальцовщики сидят тут в голом досе или bash-e без UI. Хотя весь экспиеренс именно там (если что сертификаты по bash-у у меня имеются . Юзают оконные режимы, потому что так проще и понятнее, а зачастую и продуктивнее. Все эти холивары asm vs C/C++, C vs Smalltalk, C vc Java и прочее проходили. Современность такова, что все идут от простого к сложному. В данном случае это HAL -> SPL -> регистры. И так по циклу несколько раз пока не прийдет понимание как оно устроено, и как работает. Хотя возможно это я тупой и с первого чтения все не доходит
2. RM можно и нужно читать, но вы правы абстракция сразу в голову может и не впихнуться. Причем дока не самая понятная. А скорее полностью отстойная... Похоже ее писали разработчики для коллег из соседнего отдела разработки, а не для людей, которые STM32 первый раз видят. Например для меня было открытием, что TIM1 на STM32F103 не умеет работать на одном канала по фронту и спаду... Нужно делать на двух каналах.... И так далее. А по HAL так ее вообще нет. У многих бесплатных продуктов javadoc гораздо лучше чем то, что выкатывает STM.
w201, распальцовщики и тут на форуме видно чем занимаются . Тайминги для I2C высчитывают, скрипты из STMвских утилит выдирают....зачем-то В общем старое, доброе изобретательство велосипедов. Просто такой тип людей. На работе увидел как один человек зажав в тисках гвоздь пилит в нем канавки. Я заинтересовался. "Сверло говорит делаю, по дереву". "По дереву"- это он предвосхитил типа мой вопрос о твердости и долговечности данного инструмента. Я предпочитаю инструменты использовать, а не выпиливать, при их наличии конечно. И чтобы поудобней и поэффективней. На ББ давно ушел с С++ на питон. Скорость, быстрота разработки. куча готовых либ вплоть до нейронных сетей.
Тайминги для I2C высчитывают, скрипты из STMвских утилит выдирают....зачем-то В общем старое, доброе изобретательство велосипедов.
Зачем-то? Любезный, будьте добры предоставить здесь и сейчас, алгоритм расчета таймингов I2C для F0 и F4 , то бишь новой периферии, реализованное в вашем калокубе. Затем мы с вами обсудим целесообразность "лясипедов"
Вы как выходец с писюка что либо о периферии стм знаете? Нет? То то же. Использовать калокуб и рассуждать о "эффективности" , это извините -бред чистой воды.
1. Каждая компания старается снизить порог вхождения в свои продукты. Чтобы охватить и заманить как можно большее кол-во людей.
Да, это так. Но речь тут идет о компаниях ПРОДАЮЩИХ продукт, порог вхождения в который она и стремится понизить. И тогда она получит заметную прибавку к "жалованью". Только какое это имеет отношение к разработчикам, которые этот продукт у компании покупают? Тут обсуждаемый вопрос делится на два направления. 1. Низкий порог вхождения кагбэ подразумевает и низкий уровень подготовки у входящего. А это АВТОМАТИЧЕСКИ приводит и к низкому уровню самой разработки. Вроде бы парадокс, но чем сложнее и малодоступнее инструмент и исходное сырье, тем профессиональнее будет получен результат. Скажем, дилетанту трудно объяснить зачем нужен векторный анализатор импедансов. Дилетант будет брызгать слюной, доказывая, что он отлично обходится тестером или измерителем ESR. Правда ничего серьезного этот дилетатнт сделать не сможет. Ну разве удивить каким нибудь примитивом своих сотрудников, которые даже дилетантами не являются - они из другого "муравейника". 2. Следствием из пункта 1 будет неконкурентность производимого продукта. Низкий порог вхождения помимо низкой квалификации продукта тянет и обилие таких же конкурентов. Все хором начинают толкать друг друга локтями, создавая очередную примитивную китайчатину. И всегда выигрывает тот, кто вовремя начинает просто перепродавать настоящую китайчатину. Так о чем же Ваши сентенции? Да о простой человеческой лени. Если Ваша цель заключается в сокращении трудозатрат на разработку - бросайте это ремесло. Оно не для Вас. Зачем себя мучить?
1. Каждая компания старается снизить порог вхождения в свои продукты. Чтобы охватить и заманить как можно большее кол-во людей.
Да, это так. Но речь тут идет о компаниях ПРОДАЮЩИХ продукт, порог вхождения в который она и стремится понизить. И тогда она получит заметную прибавку к "жалованью". Только какое это имеет отношение к разработчикам, которые этот продукт у компании покупают? Тут обсуждаемый вопрос делится на два направления.
1. Я не уверен, что это демагогия имеет отношение к топику, так что ув. модератор если что звыняйте и дайте знать если надо прикратить этот треп. 2. Все что вы говорите это действительно так, но только трiшечкi не так.... ASM более сложный для вхождения чем C#. Можно ли сказать, что созданные на нем продукты более качественные? Паяльником паять гораздо тяжелее, чем паяльной станцией с подогревом платы. Можно ли сказать, что с помощью него можно создавать более качественные вещи? Врядли. Т.е. сложность самого инструмента ни о чем нам не говорит. Низкий порог вхождения нужен для привлечения аудитории. Как аналогия - занятияя спортом. В китае им в школах занимаются ВСЕ школьники, в том числе и те у кого проблемы со здоровьем. Итог? Первые места на олимпиадах. У нас только сверх одаренные и упорные дети могут заниматься в этих жутких условиях и зачастую странных тренерах. Итог известен. Это я к тому, что вовлеченность большего числа людей в технологию, ее популяризация, повышает в конечном итоге качество. Никто не станет (кроме самых упоротых) с нуля читать 900 страниц мануала, чтобы помигать светодиодом. Думаю аналогий можно найти немало. Начиная от производства фильмом (советы vs сша), или авто или что угодно.
3. Я с вами согласен в том плане, что векторный анализ прийдется изучить, если захочешь повысить качество своего продукта. От этого никуда не дется, но, нужен ли он чтобы помигать сведодиодом, пусть даже мега качественно? нет. Отсюда вывод 2. Сложность вхождения никак не говорит о подготовке специалиста. Пусть ты супер спец, но выберешь ту среду, где тебе проще начать, и лучше документация (до cubeMX и hal первое не было сильной стороной stm, а второе до сих пор в зачаточном состоянии).
но только трiшечкi не так.... ASM более сложный для вхождения чем C#. Можно ли сказать, что созданные на нем продукты более качественные?
ДВА ложных посыла. 1. АСМ не сложнее C#. Платформозависим - да. Но ни разу не сложнее, а местами и сильно проще. Все зависит от подготовки. 2. Применение АСМа совсем не обязательно. Достаточно контролировать работу компилятора. И в ОПРЕДЕЛЕННЫХ случаях использовать АСМ вставки, либо АСМ модули. Это позволяет решать задачи на порядок эффективнее, используя заметно более дешевые МК, нежели при использовании чужих библиотек и стерильных ЯВУ.
Это я к тому, что вовлеченность большего числа людей в технологию, ее популяризация, повышает в конечном итоге качество. Никто не станет (кроме самых упоротых) с нуля читать 900 страниц мануала, чтобы помигать светодиодом.
Поморгать светодиодом и создать ПРОДАВАЕМЫЙ продукт - это "две большие разницы". Не прочитав 900 страниц мануала, ничего кроме "ногодрыга" доступно не будет. Масса любопытных будет, а специалистов не будет вообще. Вся массовка отсеивается на вступительных экзаменах в радиоинституты. Освоить ардуиностроение и стать инженером - совершенно разные сущности. К моменту выбора профессии нужно слишком много знать, чтобы простое любопытство могло эти знания заменить. И знания эти, к сожалению, совершенно не абстрагируются, дабы понизить порог вхождения, увы.
Отсюда вывод 2. Сложность вхождения никак не говорит о подготовке специалиста. Пусть ты супер спец, но выберешь ту среду, где тебе проще начать
Это чушь. Выбор определяется не простотой, а технической и экономической целесообразностью. То, что проще выбирает дилетант. Но у него и обязательств никаких нет.
КРАМ, меня другое беспокоит. С чего вдруг такая обширная миграция "выходцев_с_PC" ? У них что там, "кризис жанра" и массовая невостребованность ? С их мировозрением путь в эмбедд заказан, ибо понять не в состоянии, что в эмбедде и софт и железо первичны...
Чистые программисты не придут в эмбед, если они прикладные МАТЕМАТИКИ. То есть специалисты в своей области. А если они "чистапрограммеры" по случаю, поскольку быстрый рост технологий мобилизовал кучу пены вокруг этой тематики, тогда виртуальность их поделий начинает надоедать, а на ютубе полно всяких чудесатых роликов про роботов, квадрокоптеры и прочие хобби. Это же жизнь, а не виртуальная писанина...
С того, что отрасли становятся сильно смежными, и IoT довольно сильно начинает набирать обороты. Так что и начинают embed-ы штудировать java, а android-шики вспоминать чему их в институте на аналоговой схемотехнике учили....
Меня другое беспокоит, зачем сидеть на форуме и обсирать друг друга, вместо того, чтобы в двух-трех предложениях обьяснить и помочь. С чего токой негатив? Ну не нравится, что кто-то пользуется каким-то инструментом - ну молчи себе в тряпочку, зачем срач-то разводить?
PS И заканчивайте заниматься анонизмом на свою исключительность. ее нет. PPS А еще давайте Илона Маска вспомним. И вот ровно такие же его обсирали: "да куда он лезет", "да нифига не получится" и т.п.
Я не говорю, что СОВЕТУЮТ не то. Штудировать RM это всегда актуальный, а главное, уникальный совет. Я утверждаю, что практической пользы и ПОМОЩИ в данном совете, на данном этапе вхождения в stm=0.
PS Если внимательно перечитаете с самого начала, я сразу признал полезность rm и нужность его изучения. PPS Замечю также, что на личности я не переходил (ну разве что с онанизмом и умственные способности ваши, в отличии от моих опонентов, под сомнения не ставил. Хотя не скрою, много раз хотелось...
заканчивайте заниматься анонизмом на свою исключительность. ее нет.
Есть АНОНИМ и есть ОНАНИСТ. Я так понимаю, что Ваш неологизм означает анонимного онаниста. Причем тут исключительность? Исключительность и анонимность - взаимоисключающие понятия.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения