Например TDA7294

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

Текущее время: Пн дек 08, 2025 15:27:40

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


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



Начать новую тему Ответить на тему  [ Сообщений: 1036 ]     ... , , , , 52
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср авг 13, 2025 07:05:34 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18436
Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Замените stm32 в последних пяти страницах сообщений на любой другой МК и смысл сообщений не изменится. Так о чем разговор? Тема про Си здесь не одна...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


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

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2556
Рейтинг сообщения: 0
Фига се чувака порвало :)))

Однако, узко мыслишь.

Правда, есть там функциональная ошибка - unlock() в GPIO не будет работать, поскольку механизм блокировки настроек пинов не подразумевает разблокировки вообще. Блокируются они до следующего перезапуска после сброса.
А на контроллерах Миландра будет.
Код:
static inline void unlock() { base()->KEY = 0x8555AAA1; }



Код:
_static_always_inline_ void write(uint32_t data)  // Тут вроде uint16_t надо

Да не "вроде", а точно там uint16_t надо. Сами ж написали в static_assert, что ширина порта максимум 16 пинов.
На 32-битном контроллере усечение типа не бесплатно. Это может вылезти в реальный код. 32 тут уместнее. А static_assert не даст превысить.


Дальше идут мелкие ошибки, такие как
Код:
_static_always_inline_ void toggle()
  {
      base()->ODR = ~base()->ODR;
Ты откуда понадёргал то? Для STM32 новых
Код:
  template<uint32_t PM=PinsMask>
  static inline void toggle()
  {
    if constexpr (PM == 0xFFFF)
      base()->ODR = ~base()->ODR;
    else if constexpr (PM == 0x00FF)
      *pVU8(&base()->ODR) = ~*pVU8(&base()->ODR);
    else if constexpr (PM == 0xFF00)
      *(pVU8(&base()->ODR) + 1) = ~*(pVU8(&base()->ODR) + 1);
    else if constexpr (std::has_single_bit(PM))
    { if (base()->ODR & PM) clear(); else set(); }
    else 
      base()->BSRR = (PM << 16) | (~base()->ODR & PM);
  }

Для STM32 старых и кучи китайцев на них базирующихся
Код:
  template<uint32_t PM=PinsMask>
  static inline void toggle()
  {
    if constexpr (PM == 0xFFFF)
      base()->ODR = ~base()->ODR;
    else
      if constexpr (std::has_single_bit(PM)==1)
        if(base()->ODR & PM) clear<PM>(); else set<PM>();
      else 
        base()->BSRR = (PM << 16) | (~base()->ODR & PM);
  }

Для AVR
Код:
  template<uint8_t PM=PinsMask>
  static inline void toggle()
  {   
    if constexpr (PinToggle)
    {
      if constexpr (std::popcount(PM) == 1)
        base()->PIN |= PM;
      else
        base()->PIN = PM;
    }
    else
    {
      if constexpr (std::popcount(PM) == 1)
      {
        if (base()->PORT & PM) clear(); else set();
      }
      else
        base()->PORT ^= PM;
    }
  }

На разработанном мной для Microblaze GPIO
Код:
  template<uint32_t PM=PinsMask>
  static inline void toggle()
  {   
    base()->IDR = PM;
  }

и так далее...

и нелогичности
Код:
_always_inline_ TSTM32Fx_GPIO& operator=(const TSTM32Fx_GPIO& gpio)
  {
    write(gpio.read());

Ну потому что надо понимать как работает оператор присваивания.


Остальное даже комментировать лень.

Есть расхожая фраза: "Keep it simple, stupid". Что в переводе означает: "Пиши проще, чувак!" :)
"Ни асилил" пишется сильно короче. :)))


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

Карма: -2
Рейтинг сообщений: -4
Зарегистрирован: Чт июл 31, 2025 20:41:39
Сообщений: 76
Рейтинг сообщения: 0
Хахаха, вижу, признали свою писанину, хоть я специально не указывал ссылку и автора :) Однако, долго ж ты думал, гражданин :) Я видел, что ты буквально сразу после моего поста тут появился, но сообразил, что ответить только через день :) Медленно ваша лошадь ездиет!

То есть, если спустя 5 лет вы до сих пор пишите такую ересь, то... ну что сказать - пичалька, пичалька. Образования профильного у вас, как видно, нет. И самообразованием тож не занимались.
Эх, жаль меня здесь не было 5 лет назад, а то я бы быстро вас с небес спустил :) Меня этими дешевыми понтами не возьмешь, у меня вышка как раз по этой специальности, и уж что такое логика построения взаимосвязей, я знаю получше, чем вы :) У вас вашей писанине нет ни капли логики.
И даже сейчас вы не поняли ничего. Я спрашиваю - на кой ляд вы вынесли в параметры класса режим пинов, если пытаетесь настраивать их по-разному даже для маскированного порта? Где в этом логика? Вот давайте без понтов, а по-честнаку. Понты на меня не действуют, это перед местными можете понтоваться.

Цитата:
base()->IDR = PM;

Что-что, простите? Даааа, что-то у вас там ниалё :)
Изображение

Разбирал я недавно еще один опус, дак там так же, автор не понимает, что пишет.


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

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2556
Рейтинг сообщения: 1
5 лет за мной гоняешься? С тобой всё в порядке? Не собираюсь я на твои высеры реагировать.

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

И это, ник для очередного клона начинай подбирать. :)))


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Ср авг 13, 2025 14:13:14 
Открыл глаза

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

Про запись в регистр входов IDR, доступный только для чтения - ответа не последовало. Всё с вами ясно - обычная понторезка, в стиле индусского кода, лишь бы больше строчек, и пофик, что они ошибочны.
Про write(gpio.read()); - так же нет ответа, а только отмазка. Видимо, вы совсем не понимаете, что пишите.
Про base()->ODR = ~base()->ODR; так же вы не поняли, о чем речь была. Видимо, за прошедшие 5 лет вы так и не сталкивались с работой этого механизма в реальной системе.

Цитата:
А на контроллерах Миландра будет.

А в показанном коде НЕТ контроллера Миландра, только STM - там так и написано в комментах. Отсюда возникает ложное впечатление, что на STM можно сделать разблокировку. А всего лишь надо было соблюдать принципы программирования, которые изучаются в ВУЗах. Вы - не учились, не знаете их, потому и пишите какую-то ересь. Но понтов - выше крыши. Эти понты только на местных действуют. На меня - нет :)


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

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2556
Рейтинг сообщения: 0
Какой атрибут пина, если в порту их несколько пинов, и вы пытаетесь настраивать их по-разному.
Именно для того чтобы каждый пин получил свой режим он и содержит его в атрибутах. Сосредоточься, это просто.
Про запись в регистр входов IDR, доступный только для чтения - ответа не последовало.
Я же говорю, узко мыслишь. Найти контроллер у которого запись в IDR вызывает toggle порта предлагаю самостоятельно. Точно так же я сделал и в своём GPIO в FPGA.

Эти понты только на местных действуют. На меня - нет :)
Да я уж вижу, 5 лет гоняешься за мной по форумам. :)))


Последний раз редактировалось VladislavS Ср авг 13, 2025 14:45:39, всего редактировалось 1 раз.

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

Карма: -2
Рейтинг сообщений: -4
Зарегистрирован: Чт июл 31, 2025 20:41:39
Сообщений: 76
Рейтинг сообщения: 0
Не знаю, с кем вы меня там путаете, может однофамилец :)
Но я вот щас вялюсь на даче и листаю форум. И случайно наткнулся на такой опус. Хорошо, что вы его признали. Плохо, что вы так и не осознали и не научились ничему за эти 5 лет.

Про IDR - разговор про STM32. Не надо выкручиваться. Надо честно признавать свои ошибки. А вы вместо этого начинаете изворачиваться, как эта самая.

Ну а вам, гражданин, настоятельно рекомендую пройти хотябы онлайн-курсы по программированию. Мож, узнаете основные принципы построения программ. Потому что самое смешное вы даже не понимаете, что такое "три карандаша разного цвета" :) Они не могут иметь "неопределенный цвет".
Я ж говорю - в описанном классе - нарушение ЛОГИКИ.

Представьте себе табличку - инвентаризационная ведомость:
Изображение
ничего в ней не смущает? А ведь это вы её такую сделали! Имя порта - GPIOA, тип пинов - "а ху ево знаить, у всех разный" :) Вопрос - а зачем это свойство для порта, если "тип у всех разный". Ло-ги-ка, нарушение ло-ги-ки! Хотя, вы этого и не понимаете, для вас цвет карандаша может быть "да х ево знает, какой-то, но я им пишу картины, я ведь художнег, а художнека может обидеть каждый" :)


Последний раз редактировалось КотПротон Ср авг 13, 2025 14:54:16, всего редактировалось 1 раз.

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

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2556
Рейтинг сообщения: 0
Не знаю, с кем вы меня там путаете, может однофамилец :)
Однако, не я один, Adrift вон тоже что-то подозревает.

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

А ты что, все 5 лет так с пинами и возишься? Как-то мелко...


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

Карма: -2
Рейтинг сообщений: -4
Зарегистрирован: Чт июл 31, 2025 20:41:39
Сообщений: 76
Рейтинг сообщения: 0
Ага, если вы используете ваш код как дрова, то конечно для вас не важно, какая у него логика. Я ж говорю - у вас проблемы С ЛОГИКОЙ. Большие проблемы. Очень большие.

Мало ли кто там что подозревает. Чай, тут не следственный коммитет. А если кому-то что-то кажется или мерещится, пусть покрестятся :) У вас воображение работает не в ту сторону. Вместо того, чтобы честно разобраться в своем же мусорном нелогичном коде, вы начинаете выискивать, кто там что на кого похож. Вы на себя смотрите, а не придумывайте небылиц.

Цитата:
тогда и задавать его не обязательно.

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


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

Карма: 18
Рейтинг сообщений: 433
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2556
Рейтинг сообщения: 0
Мало ли кто там что подозревает.
Повторюсь, можешь начинать придумывать новый ник для клона.


А зачем тогда его там писать?
Это шаблон, он работает в совершенно разных ситуациях. В случаях, когда режим не нужен, подставится значение по умолчанию "Undefined" и пользователь об этом даже не узнает. Впрочем, вашим образованием я заниматься не намерен. Поучитесь где-нибудь программированию самостоятельно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс ноя 30, 2025 11:42:06 
Родился

Зарегистрирован: Сб ноя 29, 2025 16:13:12
Сообщений: 7
Рейтинг сообщения: -1
Здравствуйте, у меня такой вопрос. Хочу сделать инфракрасную паяльную станцию на основе платы STM32F401CCU6, дисплея ILI9341/ILI9488 и 5 кнопочной клавиатуры.
Вопрос по созданию ГУИ, я не программист а хочу немного научиться писать код.
Насколько я понял мне нужно поставить
1. STM32CubeMX чип конфигурация
2. Или STM32CubeIDE или Keil ARM? Для работы с кодом.
3. Какую программу для создания самой ГУИ?

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


Вложения:
Schematic_STM32_Solder_2025-11-30 (2).pdf [149.55 KiB]
Скачиваний: 9


Последний раз редактировалось satman555 Вс ноя 30, 2025 12:11:39, всего редактировалось 2 раз(а).
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс ноя 30, 2025 12:07:50 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 48
Зарегистрирован: Вт окт 01, 2024 15:22:33
Сообщений: 466
Рейтинг сообщения: 0
satman555, тема про STM32, а у вас ESP32.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс ноя 30, 2025 12:15:30 
Родился

Зарегистрирован: Сб ноя 29, 2025 16:13:12
Сообщений: 7
Рейтинг сообщения: 0
Спасибо, файл подправил.


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

Карма: 10
Рейтинг сообщений: 171
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 523
Рейтинг сообщения: 0
satman555, ну, мне кажется, если и есть где то готовый конструктор гуя, то вот прям без программирования все равно не получится....
Как вариант высокоуровневой графической библиотеки - можете смотреть в сторону https://lvgl.io/ - она оперирует граф. интерфейсом на уровне готовых объектов.
Насчет STM32CubeIDE - ну есть более старые версии Atollic True Stulio, которые под семеркой идут. Но походу Win10 - достаточно хорошая и стабильная ось... И я пока на 11 переползать не планирую.
Кейл? Не знаю, не работала с ним, но он же вроде хочет или денег, или таблетки....

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вс ноя 30, 2025 15:48:55 
Родился

Зарегистрирован: Сб ноя 29, 2025 16:13:12
Сообщений: 7
Рейтинг сообщения: -1
Поствил Винду 10.
1. Поставил STM32CubeMX 6.16
2. TouchGFXDesigner 4.6
3. Кейл MDK543a

Все стало прекрасно и пока задарма.

Винда 7 не поддерживается свежими программами.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Stm32 с чего начать изучение...
СообщениеДобавлено: Вт дек 02, 2025 08:24:32 
Родился

Зарегистрирован: Сб ноя 29, 2025 16:13:12
Сообщений: 7
Рейтинг сообщения: 0
Вообщем Кайл оказываетчя платный. Поставил субеИДЕ.


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

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


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

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


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

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


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