-
Постов
2 962 -
Зарегистрирован
-
Посещение
-
Победитель дней
11
Сообщения, опубликованные dimka76
-
-
On 4/18/2024 at 1:00 PM, razrab83 said:
ещё до того, как программиста приняли на работу.
И оказалось чтобы реализовать все что в ТЗ не хватает памяти. Даже при самой супер-пупер оптимизации.
On 4/18/2024 at 1:00 PM, razrab83 said:приходит "советчик" и
советуетучит по мощнее процессор поставить или внешнее ОЗУ на SPI. 🥱Тут никто никого не учил, а всего лишь приводили абстрактные примеры для иллюстрации своих доводов.
-
On 4/17/2024 at 4:54 PM, tonyk_av said:
уважаемого человека.
Прочитал цитаты из приведенной вами ссылки.
Как по мне, так бред полнейший.
-
On 4/17/2024 at 3:53 PM, Mty said:
А для проверки ошибок DMA можно просто опрашивать флаг DMA high interrupt status register (DMA_HISR) TEIF5 без прерывания, верно?
Можно.
Только зачем тратить на это процессорное время ?
Лучше разрешить на них прерывания и обработку ошибок вести только в случае возникновения этих ошибок.
-
On 4/17/2024 at 3:27 PM, jcxz said:
Кошмар.... Отрубание хвоста собаки по частям.
Так наоборот же.
Пришивание
-
On 4/17/2024 at 1:52 PM, Mty said:
DMA2_Stream5->CR |= (6 << DMA_SxCR_CHSEL_Pos); // enable channel 6 (TIM1_UP) DMA2_Stream5->CR |= (2 << DMA_SxCR_PL_Pos); // set to high priority // FIFO should be disabled by default DMA2_Stream5->CR |= (1 << DMA_SxCR_DIR_Pos); //set memory-to-peripheral DMA2_Stream5->CR |= (1 << DMA_SxCR_MINC_Pos); //Incremement memory address // Assume PINC is 0 //Assume burst is set to single transfer DMA2_Stream5->CR |= (0 << DMA_SxCR_MSIZE_Pos); // Set memory data width to a byte DMA2_Stream5->CR |= (0 << DMA_SxCR_PSIZE_Pos); // Set peripheral data width to a byte DMA2_Stream5->CR |= (1 << DMA_SxCR_CIRC_Pos); // Set to circular mode // Assume DBM is zero DMA2_Stream5->CR |= (1 << DMA_SxCR_EN_Pos); //enable DMA
Почему на запись каждого бита отдельная операция ?
Почему не прописали все биты одной операцией ?
Вот так
DMA2_Stream5->CR = (6 << DMA_SxCR_CHSEL_Pos) | // enable channel 6 (TIM1_UP) (2 << DMA_SxCR_PL_Pos) | // set to high priority (1 << DMA_SxCR_DIR_Pos) | //set memory-to-peripheral (1 << DMA_SxCR_MINC_Pos) | //Incremement memory address (0 << DMA_SxCR_MSIZE_Pos) | // Set memory data width to a byte (0 << DMA_SxCR_PSIZE_Pos) | // Set peripheral data width to a byte (1 << DMA_SxCR_CIRC_Pos) | // Set to circular mode (1 << DMA_SxCR_EN_Pos); //enable DMA
-
On 4/10/2024 at 12:21 PM, Arlleex said:
чтобы ужать first-bootloader под МК на нужный размер.
http://elm-chan.org/fsw/strf/xprintf.html
On 4/10/2024 at 12:21 PM, Arlleex said:Насколько я помню - itoa ограничивает длину строки 33 и 65 символами для int и long long, соответственно.
Эта функция не включена в стандарт. Поэтому все зависит от реализации.
-
On 4/8/2024 at 7:22 PM, Vladimir_T said:
Здравствуйте, уважаемые коллеги, подскажите в чем может быть дело. Настраиваю TIM8 CH4 на выход через PC9, а на выходе сигнала нет. В отладчике KEIL проверил: периферия конфигурируется, таймер стартует, счет идет, но на выходе порта - сигнала нет. Какую еще инициализацию нужно TIM8 для формирования простого миандра?
Каша какая-то. И HAL и регистры. Вы уж на чем-то одном остановитесь.
Во все тонкости приведенного вами кода не вникал, но явно не хватает настройки регистра BDTR, бит MOE.On 4/8/2024 at 7:48 PM, Vladimir_T said:C CubeMX также не работает. Думал, что комплементарность нужно настроить, но CubeMX тоже без нее обходится.
Доку надо читать. У СН4 нет комплементарного выхода.
-
-
On 4/6/2024 at 11:28 PM, do_not_know_Linux said:
просто магия)))
Тоже замечал такое.
Как только вопрос задашь, так сразу сам на него ответ и найдешь. -
On 4/6/2024 at 4:42 PM, Plain said:
МК с аппаратным Modbus.
А такие бываю ?
On 4/6/2024 at 4:25 PM, aaarrr said:GD32, AT32, APM32
WCH забыли
-
On 4/6/2024 at 4:15 PM, do_not_know_Linux said:
вы на их сайте его видите для этой архитектуры? скиньте пожалуйста скрнишот
Вас в гугле забанили ?
Система команд это архитектура.Cortex-M7 не STmicroelectronics придумала, поэтому искать на на сайте разработчика данной архитектуры.
https://documentation-service.arm.com/static/5e906b038259fe2368e2a7bb?token=
-
On 4/4/2024 at 8:04 PM, girts said:
На тех же AVR если пойнтер не трогать,
Тут скорее GCC.
GCC для ARM так же распределяет.
Только отличие в указателе стека. Адрес начала стека надо самому в регистр заносить.
И тут уж можно произвольно указать. Но если не пользоваться всякими ухищрениями, тообычно вершину ОЗУ и указывают.
-
On 2/17/2024 at 1:15 PM, BALDA said:
Форумчане, поделитесь опытом, как вы определяете в своих проектам размер стека и кучи?
Quote«С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее»
— Jack Ganssle, «The Art of Designing Embedded Systems»Как правила, стек начинается со старшего адреса ОЗУ и растет навстречу глобальным переменным.
Тут уж размер стека определяется тем, что осталось от глобальных переменных. Можно заняться оптимизацией их количества для увеличения размера стека.Куча начинается сразу после глобальных переменны и растет в сторону стека.
Получается, вам размеры стека и кучи указывать вообще нет никакой необходимости.
Они сами займут весь доступный объем в процессе работы вашей программы.
-
Так же вместо транзисторного можно применить фотодиодный оптрон.
Он быстрее.
-
On 4/1/2024 at 4:07 PM, uriy said:
У меня нет опыта работы с TMS320.
Не могу найти чем обычно программируют на производстве TMS320F28xx.
Есть ли что-то подобное Segger J-Flash?
У них есть заводской загрузчик по интерфейсу UART (SCI).
У TI есть своя утилита.
А есть еще альтернативная утилита -
On 3/30/2024 at 8:20 PM, Michael58 said:
Это как? Любой линейный стабизатор тока содержит балластный резистор последовательно с нагрузкой, который рассеивает мощность, равную разнице напряжений источника и нагрузки помноженную на ток.
Зачем стабилизатору тока балластный резистор ?
Стабилизатору тока нужен токоизмерительный резистор.
У линейного стабилизатора тока мощность будет рассеиваться на регулирующем элементе. Как правило, это транзистор.
-
On 3/29/2024 at 8:14 PM, x893 said:
CubeMX это не STM32CubeIDE
так у ТС готовый сгенерированный проект под STM32CubeIDE
-
On 3/29/2024 at 7:47 PM, x893 said:
Не входит.
А вот создатели Куба с вами не согласны
QuoteSTM32CubeIDE is an advanced C/C++ development platform with peripheral configuration, code generation, code compilation, and debug features for STM32 microcontrollers and microprocessors. It is based on the Eclipse®/CDT™ framework and GCC toolchain for the development, and GDB for the debugging. It allows the integration of the hundreds of existing plugins that complete the features of the Eclipse® IDE.
-
On 3/29/2024 at 5:25 PM, Zversky said:
а чем пользуетесь?
System Workbench for STM32
плюс отдельный GCC, т.к. в составе System Workbench for STM32 идет старая версия GCC.
-
On 3/29/2024 at 3:47 PM, Zversky said:
Из закромов ли с родины скачать умудриться тоже можно?
не знаю, я Кубом не пользуюсь
-
On 3/29/2024 at 11:57 AM, Zversky said:
Следовательно, возвращаемся к исходному вопросу.
Да ставьте саму свежую версию.
-
On 3/29/2024 at 10:40 AM, Zversky said:
И, вообще, по проекту что мне надо установить на чистой машине, чтобы скомпилировать исходный проект as is перед переконвертации и прочего с получением точно такого же результата, как и у автора?
Скорее всего для этого надо ту же версию компилятора.
Но компилятор входит в комплект Куба.Следовательно, нужна абсолютно такая же версия Куба.
-
On 3/27/2024 at 8:42 PM, EdgeAligned said:
дыркам все равно с какой скоростью их дырят. Вот ваще пофик, реально.
А вот инструменту не пофик.
Да и материалу тоже под вопросом. -
On 3/26/2024 at 12:51 PM, Arlleex said:
Это называется адаптивный регулятор🙂
На самом деле любой регулятор, в котором есть хотя бы строчки ограничения выходного сигнала, уже, по факту, "не классический" ПИД, а с прибамбасами.
ПИД на операционниках будет ограничивать выходной сигнал напряжением питания. Он тоже с прибамбасами ?
STM32L1 ADC + DMA
в ARM, 32bit
Опубликовано · Пожаловаться
Вон же у вас в обработчике прерывания SysTick каждый раз запускается АЦП.