![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
jcxz
Свой-
Постов
13 619 -
Зарегистрирован
-
Посещение
-
Победитель дней
38
Весь контент jcxz
-
полноценный линукс на "мелких МК" (типа Cortex-M) не возможен по определению. Меньше всяких "блохеров" читайте.
-
Или недобор? max ведь не указано. А значит и 0.5с может не хватить. И почему 0.5с, а не 5с или не 50с? ЗЫ: Вобщем, как уже сказали - решение с задержкой кривое. Сегодня работает, завтра - нет. Но ТСу лень читать документацию, чтобы сделать правильно.
-
Наверняка есть. Но это же документацию читать надо.
-
Всё а не всё. Всё-таки CPU с FIQ/IRQ гораздо шустрее реагируют на прерывания, чем Cortex-M с NVIC.
-
Я вообще-то писал не про время входа в свой ISR, а про случай, когда ваше срочное прерывание возникло в тот момент когда уже только начался вход/выход в другой ISR. И писал это не про ARM-ы с переключением состояний FIQ/IRQ, а про Cortex-M с его NVIC (STM32). Никакой стабильности там быть не может по определению. А будет джиттер в десятки тактов (опять же - Cortex-M).
-
Не верю! Сказки не надо рассказывать. Один вход или выход в ISR занимает уже десятки тактов (это если контекст FPU не сохраняется/восстанавливается; иначе будет ещё печальнее). Точно такие же сказки - максимальное время активации задачи во FreeRTOS == 900нс. По причине (как уже сказали выше) - что сервисы РТОС выполняются как правило при запрещённых прерываниях. ЗЫ: Сказочникам советую почитать описание CPU и посмотреть исходный код сервисов FreeRTOS. Для спуска с небес на землю... Кроме ПЛИС можно взять МК с богатой периферией, и реализовать нужный функционал силами этой периферии.
-
От ESP32 там нужен не WiFi, а BT.
-
и что с того?
-
Ну да Гладко было на бумаге, да забыли про овраги.... Один из моих прошлых заказчиков решил перенести наш проект (ранее реализованный на LPC17) на ESP32. "для удешевления" типа. Нашёл какого-то программиста, взявшегося за работу. И вот.... прошёл почти год. Насколько мне известно - до сих пор ещё результат не получен. Хотя в своё время, на LPC, первая версия девайса у нас заработала уже примерно через месяц. Периферии там немного. Да и в целом вроде девайс не особо сложный. Для обычного микроконтроллера по крайней мере. Хотя у меня с самого начала были большие сомнения насчёт реализуемости на ESP32. PS: И даже если заработает всё-таки, то боюсь заказчик будет неприятно удивлён временем его автономной работы (девайс имеет батарейное питание).
-
STM32 & PID-регулятор
jcxz ответил dimir тема в Программирование
Это не всегда так. А чаще вообще не так. Чаще целевым параметром ПИД-регулирования при управлении мотором, является не скорость, а крутящий момент. Например - в электротранспорте так. Потому что задающим воздействием, которое нужно выполнить ПИД-у, является величина нажатия педали акселератора водителем. Педаль задаёт крутящий момент, а не скорость. Аналогично - с электросамокатами и прочими средствами передвижения. -
Много чего. Например - инитит регистры отладки и включает таймер DWT. Если этот таймер используется в коде, но не проинициализирован, то будут проблемы. Наверное нужно всё-таки проверить просто рестарт, а не вкл. питания? С помощью сигнала RESET и с помощью соответствущего регистра сброса ядра или WDT. Если у вас инит регистров физики реализован криво, то он может не срабатывать из-за того, что физика ещё не закончила power-on reset. А вы уже пытаетесь в неё что-писать. Без контроля готовности. В этом случае после сброса по WDT или через ядро, старт должен быть нормальным, как из под отладчика.
-
Хотя бы в том, что перед передачей управления в main(), необходимо как минимум выполнить си-стартап. Который должен проинициализировать глобальные и статические переменные. Это не считая того, что в запускаемой программе какая-то работа может выполняться до main(). А вы её пропустите.
-
варианты: 1. Не давать включить защиту. 2. Выключить её в соответствующем сервисе ОС (например в сервисе SVC). 3. Сделать все необходимые дела в ISR. Кто мешает вам так сделать? Вроде как всё элементарно.
-
Чтобы "запустить другое приложение", изменить MSP скорей всего будет недостаточно. В идеале нужно предварительно вообще все регистры ядра и периферии перевести в исходное (послесбросовое) состояние. Иначе следующий ваш вопрос будет: "Почему после запуска отладчиком то приложение работает, а после запуска мои загрузчиком - нет?". Мешает то, что оно так не запустится. С большой долей вероятности. Запуститься так оно может только если специально было спроектировано под такой тип запуска. А сделать такое непросто.
-
BACK EFM
jcxz ответил Alex1603 тема в Электрические машины, Электропривод и Управление
Нет, не все. -
Как-то не верится... У нас тут кое-где катаются электробусы, городские. Заряжаются вроде как на конечных остановках. Если бы было так, как вы пишете - ресурса батарей и на месяц не хватало бы. И это было бы просто не выгодно.
-
Это имхо опять старая история: Скупой платит дважды. Жаба не даёт автору купить хорошие аккумуляторы, которые выдержат много циклов перезаряда. И что-то пытается сколхозить на коленке. Подешевле. Вот когда у тебя под окнами хотя бы один день походит такой товарищ с тарахтелкой-вонялкой, то ты поймёшь как раньше везло тебе! PS: А ещё бывает - большой газон под офисными окнами, который всё лето стригут бензиновыми газонокосилками. Причём - в самый разгар рабочего дня и целая команда косцов! И никуда от этого не сбежишь...
-
Автор игнорирует советы. Бесполезно это всё. PS: А вы можете кинуть ссылкой на такой USB-хаб с питанием от 12V БП? А то мне почему-то такие не попадались. Всё только на 5V.
-
Я вот читаю тему и не пойму - а какова область применения этих дронов? Вроде автор ранее писал что-то об исследовании неких строительных конструкций с помощью дронов. Если это оно, то где эти конструкции находятся? Это какая-то заброшка в полях? промышленный объект? или объект внутри жилой застройки? Если последнее, то неужто автор всерьёз рассматривает использование дронов с бензиновыми двигателями (и бензобаком на каждом!), летающих стаей перед окнами добропорядочных бюргеров??? Но даже если это заброшка в полях или пром-объект, то: Автор тут рассуждает о затратах времени на перезарядку аккумуляторов дронов. И сколько рабочего времени на это будет потеряно. А он не посчитал - сколько времени потребуется на проветривание помещения (если полёты будут проходить в каком-то закрытом помещении/ангаре) после таких полётов, чтобы потом туда мог зайти персонал? И не пробовал ли он запускать бензиновый двигатель (даже маленький) в гараже и находиться там же при этом хотя-бы несколько минут?? PS: Когда осенью у меня под окнами дворник с ручным пылесосом с бензиновым движком начинает сдувать опавшие листья, то приходится закрывать окна. Так как тарахтит он очень громко. Даже если дворник ходит у соседнего дома. А когда он ходит вблизи нашего дома, то (если не закрыть окна и направление ветра соответствующее) уже через несколько минут в квартире начинает очень ощутимо вонять выхлопными газами. Хотя окна - на 5-м этаже. И дворник всего один, а не стая их ходит. И нету опасности, что этот дворник с полным бензобаком вдруг влетит в окна квартиры. Если же стая таких бензодронов начнут летать, тарахтеть и вонять вблизи окон добропорядочным бюргеров, то уверен на 100% - в полицию поступит просто шквал звонков с жалобами.
-
хе! У меня сдох фирменный "Intel 540s". После всего каких-то двух или трёх лет работы в обычном режиме 8ч/5дн. А на другом ноуте (которому ещё и двух лет не исполнилось) SSD уже начал какие-то ошибки выкидывать периодически. Иногда вдруг перестают читаться файлы. Потом восстанавливаются. Но уже опасаюсь.
-
Как состряпать алгоритм синусоидального ШИМ?
jcxz ответил khlenar тема в Программирование
и...? В чём вопрос? Вы не знаете как заменить деление на 50, эквивалентным ему умножением??? Ну видимо нужно умножать на 1/50 = 0.02. Очевидно. Далее выбираем любой подходящий Q-формат, представляем 0.02 в нём и производим необходимое умножение. PS: Ну чесслово - какой-то детский сад..... -
Как состряпать алгоритм синусоидального ШИМ?
jcxz ответил khlenar тема в Программирование
Точно так же, как на любое целое число. Вбейте в гугл "Q-number format" и получите море ссылок. Например: https://en.wikipedia.org/wiki/Q_(number_format) -
Как состряпать алгоритм синусоидального ШИМ?
jcxz ответил khlenar тема в Программирование
Даже в 8-битках, если они имеют команды умножения (любой разрядности), то замена деления умножением также должна дать выигрыш в скорости. А если у них при этом нет команд деления, то выигрыш будет даже больше, чем на Cortex. -
Как состряпать алгоритм синусоидального ШИМ?
jcxz ответил khlenar тема в Программирование
Если коэффициент = const, то деление запросто заменяется умножением. Которое занимает 1-2 такта на >= Cortex-M3. -
По такой логике тогда и двоеточие после "город" нужно вернуть. А то у некоторых теперь получилось: "Город Липецкая обл.". Что тоже как-то совсем коряво. Тем более поле "Регистрация:" - с 2точием.