Например TDA7294

Форум РадиоКот • Просмотр темы - Stm32 с чего начать изучение...
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб авг 30, 2025 22:41:47

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1032 ]     ... , , , 49, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср ноя 06, 2024 12:25:01 
Говорящий с текстолитом

Карма: 25
Рейтинг сообщений: 452
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1649
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Adrift выше писал, STM32 можно прошивать/читать разными способами/методами.
С программатором - понятно. Купите, это дешево, супер. Нно чтобы доставить, нужно время. Пока ждете доставки, включите STM32 к PC чрез USB: UART модуль к RX/TX на STM32. Чрез STM32CubeProgrammer можно и записать, и читать, и стереть STM32. Ниже: мой UART модуль на CH340G к A9/A10 на STM32F103C8T6: читаем, записиваем ...

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт ноя 19, 2024 11:17:26 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср фев 18, 2009 13:59:46
Сообщений: 170
Рейтинг сообщения: 0
Тут одновременно с стм32 и визио изучаю. Скопировал папку с проектом (не моим, тот что с гитхаба), решил его оставить первозданным а тренироваться на копии, создал другую папку и вставил в нее проект. Запустил скомпилировал, а в Дебуге бин старый, и он файлы проекта не видит кроме головного main, походу он из старой папки их подхватывает. Это нормально? Теперь и проект не скопировать? кстати запускаю проект из старой папки, выкидывает сообщение что он плохой, запускать не буду. Я знал что тамошние прогеры мудаки, но не знал что настолько. На дельфи раньше прожки делал, такого не было, пока серьезные дядьки не сказали "на нашем предприятии пиратское по использовать низззяяя", ну нельзя так нельзя, я больше не программист. VisioGDB релиз срок проходит, ключ просит. Сынок посоветовал cubeIDE поставить и cubeMX, с ними тоже не слава богу, сейчас затык скачать openocd не может. Толи санкции толи сам не допетриваю. Посоветуйте чего ребята.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт ноя 19, 2024 11:45:05 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 43
Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 440
Рейтинг сообщения: 0
VisioGDB релиз срок проходит, ключ просит.

На rutracker ломаный есть.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт ноя 19, 2024 13:25:24 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 430
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2539
Рейтинг сообщения: 0
Посоветуйте чего ребята.
Займитесь чем-нибудь, что у вас лучше получается - не мучайте себя.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Пн ноя 25, 2024 08:41:31 
Нашел транзистор. Понюхал.

Зарегистрирован: Ср фев 18, 2009 13:59:46
Сообщений: 170
Рейтинг сообщения: 0
Посоветуйте чего ребята.
Займитесь чем-нибудь, что у вас лучше получается - не мучайте себя.

Конкуренции боитесь? Не успеете глазом моргнуть, придут молодые, с высокими амбициями, способные, талантливые... Нам бы от альцгеймера убежать, с нашими болезнями. Как говорится, не учите меня жить... и несколько вариантов продолжения
Я ж пишу как сам делаю, делюсь, может поможет такому же начинающему. Вам как профессионалу, интереснее общаться с более компетентными товарищами. Не осуждаю.
На готовых проектах как раз лучше всего начинать, тема же про это


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Пн ноя 25, 2024 13:25:34 
Говорящий с текстолитом

Карма: -9
Рейтинг сообщений: 176
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1544
Рейтинг сообщения: 0
Конкуренции боитесь? Не успеете глазом моргнуть, придут молодые, с высокими амбициями,
Так и приходят..... но - дальше питона мало кто продвигается. Кубокодинг на си для них - уже коцмас. А чтобы самому прочитать мануалы, разобраться по ним в периферии и самостоятельно написать код - это уже за гранью фантастики для них.
У нас в конторе основная масса - "молодые и амбициозные". И из этой массы только один или два человека умеет на си контроллеры программировать. А чтобы без Куба - ни одного. :facepalm:
И имхо - это не только у нас так. А везде.
Мне уже сказали, что "в моём коде во всей конторе никто не может разобраться". :))) :facepalm: Потому как написан на си и без Кубов. А ведь простой си. Почти без ++ и с маленькими вкраплениями asm.

Потому - не боимся. Боимся наоборот - что на пенсию не дадут уйти. :)))


способные, талантливые... Нам бы от альцгеймера убежать
Где-то читал, что - чем активнее человек использует свои извилины, тем меньше вероятность развития оного у него.
Так что - грызите гранит науки языки программирования активнее - и альцгеймер в страхе будет обходить вас стороной, десятой дорогой. :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт июл 29, 2025 17:24:15 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 152
Откуда: Самара
Рейтинг сообщения: 0
Ребята здравствуйте! помогите пожалуйста с поиском CMSIS и Startup к STM32G431
Спасибо огромное!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт июл 29, 2025 18:31:57 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3379
Рейтинг сообщения: 1
Проект для STM32G431CB.


Вложения:
STM32G431CB.7z [155.16 KiB]
Скачиваний: 12
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт июл 29, 2025 18:54:35 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 152
Откуда: Самара
Рейтинг сообщения: 0
Проект для STM32G431CB.

Мурик! Я вас люблю, Мурик!!!


Что то у меня тактирование от внутреннего генератора не пашет. С внешним морочится не стал( Ни у кого нет готовой настройки на 170мГц?
Код:
 RCC->CR |= RCC_CR_HSION;
 RCC->CR |= RCC_CR_HSIRDY;
 while(!(RCC->CR & RCC_CR_HSIRDY)) {}
RCC->PLLCFGR |= RCC_PLLCFGR_PLLM_2; //PLLM 4
RCC->PLLCFGR = RCC_PLLCFGR_PLLN_0 | RCC_PLLCFGR_PLLN_2 | RCC_PLLCFGR_PLLN_4 | RCC_PLLCFGR_PLLN_6;
 RCC->CR |= RCC_CR_PLLON;
 RCC->CFGR = RCC_CFGR_SW_1 | RCC_CFGR_SW_0;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср июл 30, 2025 09:07:33 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 430
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2539
Рейтинг сообщения: 0
Первые три команды не нужны, hsi и так включен. Вторая вообще бессмысленна - зтот бит только для чтения.
Делитель M неправильно задан, там не 4 получится.
Пятая команда фактически отменяет действие четвёртой.
После включения pll надо подождать его готовности.
Последняя команда наверняка затирает в cfgr что-то полезное.

Итого: ни одной правильной команды.

Добавлено after 1 hour 36 minutes 48 seconds:
Начни с такого.
Код:
FLASH->ACR = FLASH_ACR_DBG_SWEN
           | FLASH_ACR_ICEN
           | FLASH_ACR_DCEN
           | FLASH_ACR_PRFTEN
           | _VAL2FLD(FLASH_ACR_LATENCY,4);

RCC->PLLCFGR = RCC_PLLCFGR_PLLSRC_HSI
             | _VAL2FLD(RCC_PLLCFGR_PLLM,4-1)
             | _VAL2FLD(RCC_PLLCFGR_PLLN,85)
             | RCC_PLLCFGR_PLLREN
             | _VAL2FLD(RCC_PLLCFGR_PLLR,0); // R=2

RCC->CR = RCC_CR_PLLON | RCC_CR_HSION;
while(!(RCC->CR & RCC_CR_PLLRDY));

RCC->CFGR = RCC_CFGR_MCOPRE_DIV8
          | _VAL2FLD(RCC_CFGR_MCOSEL,1)
          | RCC_CFGR_PPRE2_DIV1
          | RCC_CFGR_PPRE1_DIV2
          | RCC_CFGR_HPRE_DIV1
          | RCC_CFGR_SW_PLL;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср июл 30, 2025 11:26:34 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -6
Рейтинг сообщений: -4
Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 34
Рейтинг сообщения: -1
настройки на 170мГц?

а смысл запускать такой лапоть на милигерцах?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср июл 30, 2025 12:38:34 
Собутыльник Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 430
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2539
Рейтинг сообщения: 1
а смысл запускать такой лапоть на милигерцах?
Что такое милигерц?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср июл 30, 2025 12:53:31 
Говорящий с текстолитом

Карма: -9
Рейтинг сообщений: 176
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1544
Рейтинг сообщения: 0
Что такое милигерц?
Не все владеют русским. Даже если говорят на нём. И даже если пытаются учить других правильно говорить. :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср июл 30, 2025 14:51:24 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -6
Рейтинг сообщений: -4
Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 34
Рейтинг сообщения: -1
Не все владеют русским. Даже если говорят на нём. И даже если пытаются учить других правильно говорить. :facepalm:

а как это читаеца?
настройки на 170мГц?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Пт авг 01, 2025 17:55:46 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Чт дек 05, 2019 16:28:11
Сообщений: 152
Откуда: Самара
Рейтинг сообщения: 0
Так ни чего и не понял :cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Сб авг 02, 2025 16:03:35 
Грызет канифоль
Аватар пользователя

Карма: 1
Рейтинг сообщений: 26
Зарегистрирован: Ср мар 09, 2016 08:07:41
Сообщений: 278
Рейтинг сообщения: 0
Так ни чего и не понял :cry:

вам готовый ответ дали
VladislavS писал(а):
Начни с такого.
Код:
FLASH->ACR = FLASH_ACR_DBG_SWEN
           | FLASH_ACR_ICEN
           | FLASH_ACR_DCEN
           | FLASH_ACR_PRFTEN
           | _VAL2FLD(FLASH_ACR_LATENCY,4);

RCC->PLLCFGR = RCC_PLLCFGR_PLLSRC_HSI
             | _VAL2FLD(RCC_PLLCFGR_PLLM,4-1)
             | _VAL2FLD(RCC_PLLCFGR_PLLN,85)
             | RCC_PLLCFGR_PLLREN
             | _VAL2FLD(RCC_PLLCFGR_PLLR,0); // R=2

RCC->CR = RCC_CR_PLLON | RCC_CR_HSION;
while(!(RCC->CR & RCC_CR_PLLRDY));

RCC->CFGR = RCC_CFGR_MCOPRE_DIV8
          | _VAL2FLD(RCC_CFGR_MCOSEL,1)
          | RCC_CFGR_PPRE2_DIV1
          | RCC_CFGR_PPRE1_DIV2
          | RCC_CFGR_HPRE_DIV1
          | RCC_CFGR_SW_PLL;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс авг 03, 2025 14:12:35 
Открыл глаза

Карма: -2
Рейтинг сообщений: -4
Зарегистрирован: Чт июл 31, 2025 20:41:39
Сообщений: 76
Рейтинг сообщения: 0
Что то у меня тактирование от внутреннего генератора не пашет.

Сконфигурируйте через Cube и не мучайте опу. Дался вам этот CMSIS - оставьте его для умных.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Сб авг 09, 2025 12:37:26 
Открыл глаза

Карма: -2
Рейтинг сообщений: -4
Зарегистрирован: Чт июл 31, 2025 20:41:39
Сообщений: 76
Рейтинг сообщения: 2
Мне уже сказали, что "в моём коде во всей конторе никто не может разобраться". Потому как написан на си

Эхехех. Сегодня случайно натолкнулся я на это "никто не может разобраться":
Цитата:
Спойлер
Код:
case F_TRA:
      spiC->TRBSCR = B0 | B14;
      if (!(n = faz.tra.dlast)) {
        if (i & 1 << SO_ER) {
          faza = i += F_TRA_STOP - F_TRA << SO_n;
          PingMain();
        } else EndTra();
        return;
      }
      if (n >= BURST_SPI_R * 2) {
        IntDis(concat(NVIC_USIC, USIC_UNIT(nUSIC_spi), _, SRUSIC_SR(nUSIC_SR_spi_RX)));
        AtomicOrI(&DLR.LNEN, 1 << nDMALINE_spi_RX);
        spiC->RBCTR_b[1] = BURST_SPI_R * 2 - 1 - 1;
        __DMB();
        rdmaU->CHEN = (1 << (nDMALINE_spi_RX & 7)) * (B0 | B8);
      } else {
        spiC->RBCTR_b[1] = USIC_FIFO_SIZE;
        __DMB();
      }
      tdmaU->CHEN = (1 << (nDMALINE_spi_TX & 7)) * (B0 | B8);

 CCU_PIN_IN(nCCU_mlx1, PIN_MLX1) << EVENT_MLX_fall * 4 |
    2 << EVENT_MLX_fall * 2 + 16 |
    3 << EVENT_MLX_fall * 2 + 25;

Жжжжуткое месиво из magic numbers и бестолковых смешиваний обращений к регистрам из разных периферийных модулей и прикладных вычислений. Принцип единственной ответственности (и не только он один) попран ногами. Всё склеено в такой жуткий комок, который действительно невозможно разодрать. Так обычно пишут либо начинающие, либо безграмотные. Начинающие то быть может научатся, а вот безграмотные годами пишут месиво и гордятся им. Хотя гордиться тут нечем, это безграмотная позорная мешанина.
Программирование микроконтроллеров - это не только биты и регистры, но и принципы построения вообще программного кода. И этому тоже надо учиться, а не пренебрегать. Те, кто учился в ВУЗах по специальности, это прошли в рамках образовательной программы. Остальным - самообразование никто не запрещал.

Есть такой "принцип единственной ответственности", который гласит, что функция (класс, модуль) должна отвечать только за что-то одно. Если функция работает с регистрами SPI, то она должна работать только с регистрами SPI, никаких побочных вычислений какой-то переменной faza, никаких вызовов какой-то PingMain(), которая вообще черт знает что там делает, никаких вызовов посторонних модулей. Принцип единственной ответственности! Если надо вычислить переменную faza, это делается ВНЕ этой функции. Если надо вызывать PingMain(), это делается ВНЕ этой функции. Если нужно активировать DMA, это делается ВНЕ этой фукнции. Нельзя смешивать в одной функции разные уровни - уровень работы с железом и прикладной уровень. Каждая функция занимается только тем, для чего она предназначена. WriteSpi(GetPhase(i)); - уже лучше. (Причем, орфографически правильно не faza, а phase)

Из вышесказанного следует еще один принцип - принцип открытости/закрытости. Он гласит, что если нужно расширить функционал, то не следует изменять уже написанный модуль или функцию. Добавьте этот функционал в отдельной функции, не переписывая готовой. Потому что каждое дописывание готовой функции требует повторной её отладки, тестирования. Зачем переделывать работу, которая уже была сделана?
А если потом потребуется наоборот уменьшить функционал или использовать модуль в другом месте с меньшим функционалом, потребуется опять переписывать написанный модуль, выбрасывая лишнее.

Используйте интерфейсы модулей. Взаимодействие с программным модулем должно происходить только через предоставляемый модулем интерфейс. Интерфейс - это набор функций для доступа к внутренней структуре модуля. WriteSpi() - это интерфейс модуля Spi для передачи байта. GetPhase() - это интерфейс модуля фазы чего-то там для получения значения этой фазы через вычисление.

Отсюда следует принцип повторного использования кода. Он предполагает, что написанный модуль (класс, функцию) можно без изменений(!) использовать в другом проекте или в другом месте проекта. Показанный выше фрагмент не предполагает повторного использования - в новом проекте с другим функционалом этот фрагмент придется переписывать заново. Из-за этого увеличивается время разработки, усложняется отладка и поиск багов, а структура проекта выглядит как бесформенное месиво с трудноотслеживаемыми зависимостями. Невозможно что-либо изменить в одном месте, каждое изменение тянет за собой клубок тесносвязанных зависимостей. Невозможно один модуль заменить другим без внесения правок и переотладки уже отлаженного кода. Потому что в одной функции тесно переплетены как работа с регистрами микроконтроллера, так и работа с бизнес-логикой проекта. Выдернуть, поменять, переставить что-то - задача не из легких и сопряжена с риском человеческих ошибок.

Если попросить автора этого кода быстро в режиме "надо вчера" что-то изменить в функционале, он, этот автор, не сможет выполнить работу в короткий срок. Даже если он в собственной каше хорошо ориентируется, простая замена какого-либо функционального модуля потребует внесения множества правок, переписываний и повторных тестов уже протестированного. Это противоречит принятым принципам программирования и создает множество рисков и задержек в работе. И получается всё действительно будет завязано на одном человеке, который это написал. Обычно, такой человек является самым ненадежным звеном в компании, да еще и шантажирует руководство своей якобы незаменимостью. Типа, "вот если я уйду, вы все рухните". Но как показывает практика, вместе с этим шантажистом выкидывают и все его проекты, заменяя на правильно написанные. Некоторое переходное время компания испытывает трудности, но после устаканивания о предыдущем работнике-шантажисте больше вообще никогда и не вспоминают. А если и вспоминают, то только в негативном контексте. Хреновая перспектива, однако. Такой человек никогда не будет внесен в историю компании, даже если и многое сделал. Срабатывает обычная психология.

В общем, если кому-то сказали, что "в вашем коде никто не может разобраться", то это следует воспринимать как сигнал того, что вы не знаете принципов программирования и пишите ужасный код. Вряд ли эта фраза несет похвалу. Скорее, прямой намек на то, что погромист безграмотен и генерирует весьма опасный код разового применения. И скорее, все только и ждут, когда же этот горе-погромист свалит всё-таки на пенсию. А после этого никто даже и не будет разгребать это месиво, просто выкинут всё и заменят другим, структурированным кодом, с которым можно будет быстро работать и поддерживать его без создания рисков для компании.

PS. Есть принцип "Keep it simple, stupid", что в переводе означает "пиши проще, чувак!" :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Сб авг 09, 2025 20:28:29 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -6
Рейтинг сообщений: -4
Зарегистрирован: Ср июн 18, 2025 07:20:55
Сообщений: 34
Рейтинг сообщения: -1
Эхехех. Сегодня случайно натолкнулся я на это "никто не может разобраться":/


а человек-оркестр за миску риса еще и коментов должэн был накидать?


Последний раз редактировалось sc0rpy Вс авг 10, 2025 09:21:41, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Сб авг 09, 2025 20:46:01 
Открыл глаза

Карма: -2
Рейтинг сообщений: -4
Зарегистрирован: Чт июл 31, 2025 20:41:39
Сообщений: 76
Рейтинг сообщения: 0
Причем здесь комменты? Там в том коде чушь собачья написана, это и без комментов видно. Никакой структуры, никакой логики, всё в навал. И я объяснил подробно, почему так. Читайте литературу по программированию.
Такое бестолковое месиво пишут либо начинающие, либо безграмотные. И это барахло никто разбирать не будет, выкинут файлы по Shift+Del и вспоминать не будут.
Если "человек-оркестр" ни в зуб ногой в теме вопроса, то пусть лучше в "оркестре" на балалайке пиликает за свою тарелку риса, коль он за еду работает. Кто не умеет, тому не следует и браться, чтоб не воротить такой вот дичи, которую потом только в помойку, на свалку истории.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1032 ]     ... , , , 49, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y