Pull to refresh
22
0
Шауэрман Александр @Shamrel

Разнорабочий

Send message
Из свое практики.
Пока запущена отладка и ожидается какое-то редкое или не очень событие (повешенное на break point), или просто target работает и пишет логи, я могу уже кучу кода пересмотреть, найти ошибку и пересобрать проект. В конкретно моем случае отдельные вкладки для кодинга и дебага — это оправдано и удобно.
Ну и на практике, я для одного и того же таргета могу использовать разные дебагеры (да, я такой) плюс еще иногда и эмулятор. И у них разный функционал и интерфейс. Ну не нужно это тащить в окно кодинга. ИМХО, все верно.
Приветствую! Рад что пригодился!
Попробую воспроизвести урок. У меня нет отладки с STM32F7, самое близкое, что я у себя обнаружил, это Nucleo-F446RE.
Думаю, не лишним будет в статье упомянуть, что для того, чтобы задействовать внешний источник тактирования (8МГц) на вкладке PinOut следует в пункте RCC включить HCE и выбрать пункт BYPASS Clock Sourse
Плазма — это, конечно, хорошо, но и в будущем не помешало бы иметь оружие и на основе обычного, кинетического принципа действия. А станковый пулемет, был бы вообще к месту.
Да. Именно так. Длина должна быть указана в отчетах, размер которых мы указали в конфигурации DMA. Если проследить цепочку вызовов функций, то можно увидеть, что это значение записывается в регистр CNDTR — число транзакций DMA, которое должно быть выполнено. Каждую транзакцию счетчик декрементируется.

Меня жутко смутило, что в комментариях к аналогичной функции, но для ADC:
 HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length)

указано, что:
@param  Length: Length of data to be transferred from ADC peripheral to memory (in bytes)

in bytes
А оказалось в отсчетах.

P.S.: Когда ждать очередную статью?
Видимо, нужно завязывать с ночным программингом.
В Кубе, в настройках DAC, нужно было на первой вкладке «Parameter Setting» настроить триггер. Выбрать «Timer 6 Trigger Out event». В статье это момент опущен.
Все работает.
Огромное спасибо за статью!
Проделал все в железе. Правда, контроллер у меня попроще, L0, супротив вашего F7.
Однако же DDS генерирует. Все предельно ясно и доступно.
А вот пример с DMA запустить пока не удалось, но очень хочется. Возникли вопросы.
1. Для чего нужен канал DMA в DAC это понятно, и направление стоит логичное: Память -> Периферия. Но для чего отдельный канал DMA таймеру? Разве его задача не управлять? Какие он данные передает? Направление стоит Периферия -> Память. Я почему обратил на это внимание, для моего контроллера (STM32L053) добавить это канал не выходит, пишет, что нет ресурса.
2. Когда мы вызываем функцию HAL_DAC_Start_DMA, то через приведение типа указателя, говорим ей, что она должна интерпретировать массив синусов, как 32-ух битный. Но мы то его объявляли как 16-ти битный. То-есть, получается, что функция скушает данных в два раза больше (это если мерить в байтах), чем массив. Или массив в ОЗУ изначально уже размазан по 4-х байтовым ячейкам, и в реальности занимает не 2*N*4, а 4*N*4 байт? Тогда зачем его объявлять, как uint16?

P.S.: С архитектурой STM32 только начинаю знакомится.
А что такое «Чёрный вакуум»?
Физику изучал давно, поверхностное гугление дало сбой, и википедия молчит.
Баскаков С.И. Радиотехнические цепи и сигналы.
Учебник для вузов. Мой любимый.
Вот и я про тоже. Но на других графиках сто-то пошло не так.
А разве сиреневый график не должен быть производной зеленого?
Странно как-то. Даже о картинкам и видео видно, что есть возможность уменьшить весь. К чему SD карта в металлическом держателе (есть eMMС, NAND и прочее), зачем такие габаритные разъемы?
А спектр картинки?
Выход изолирован от входа? Есть гальваническая развязка? Если есть, то какая прочность?
Какая защита от микро и нано импульсов, сколько кВ? Какова прочность изоляции корпуса?
Какой диапазон рабочих температур? Какие помехи выдает в сеть? Каков уровень электромагнитных помех излучаемых в пространство? Громко гудит когда работает? Защита от КЗ есть? А как себя ведет при перегрузке?
Рокировку из под шаха не делают!
// Жду продолжение.
1. При таком монтаже (ничего личного, я бы руками лучше не сделал) рано или поздно оторвется проводок со всеми вытекающими последствиями.
2. Провода все в кучу, не соблюдены гальванические зазоры. Китайская зарядка — далеко не самое надежное устройство. Не увидел защитных варисторов.
3. Расчет теплового пакета? А если эта штука нагреется хотя бы до 60 градусов и термоклей расплавится?
4. Если на корпус имеет выступающие металлические части, то должно быть защитное заземление.
Как прототип — супер!
Но держать такое устройство в сети, я бы не стал.
Рано или поздно бдительность теряется, а низкая механическая и электрическая прочность приведет к печальным последствиям.
Комментировать особо нечего. Я работаю с системами на базе AM335x (основа BeagleBone), потому в теме.
Зашел. Прочитал. Понял, что годнота. Добавил в избранные. Плюсанул статью, плюсанул в карму. Ушел. Чего комментировать-то?
Если реле полупроводниковое — то не дорого, но толку от него не будет, если реле с контактами, то дорого. В стоимость размещения компонента в конечном устройстве входит не только его цена у поставщика, но и стоимость его посадочного места. А это:
1. Площадь платы. Стоимость высокотехнологичной печатной платы соизмерима со стоимостью остальных компонентов. Так если плата выполнена для монтажа BGA 0.5, то размещение на ней выводного транзистора будет стоить многократно дороже самого транзистора.
2. Питание. Когда устанавливаем в устройство дополнительный компоненты, мы должны его должны чем-то питать. Для стационарного устройства дополнительный компоненты выливаются в удорожания преобразователя питающих напряжений. Для портативного (мобильного) — кроме преобразователей еще и емкость батареи.
3. Габариты. Компоненты занимает какой-то объем корпуса. Для мобильного устройства утилизация объема корпуса крайне высока. Дополнительное место -> дополнительные деньги.
4. Масса компонента. Больше массы дополнительных компонентов -> нужна большая мощность двигателя коптера, либо меньше дальность полета, либо меньше полезной нагрузки может взять.
5. И многое другое.
Установка систем горячего резервирования приведет к ухудшению других тактико-технических характеристик, либо к возрастанию цены. Нужен баланс.
Как я понял, назначение этой системы — рой дешевых взаимозаменяемых, одноразовых атакующих элементов. Я бы на месте разработчиков этой системы уделил внимание не живучести отдельных компонентов, а живучести системы в целом.
Даже если перегорит «промежуточный элемент», то целостность тракта будет нарушена — радиоуправление будет нарушено. А значит, цель достигнута.
Как я понял речь идет о миниатюрных дронах. Какая тут может быть «горячая замена» компонентов. Даже в стационарных приборах реализовать такое неимоверно дорого, чего уж говорить о летающей стае, где каждый дрон — расходный материал.
Мой вердикт. Оружие для Банановых. Даже против талибов с микроволновкой уже может не проканать.
Комплекс СПР-2 «Ртуть-Б», «Красуха-4». У них как-то получается.

Information

Rating
Does not participate
Date of birth
Registered
Activity