Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Собирайте комбинации из блоков! Бесконечный режим, более 100 уровней, ежедневные задания и турниры.

Расслабьтесь и отдохните: игра без ограничений по времени.

Проверьте свою смекалку: головоломка для любителей

Блоки Судоку - расслабляющая головоломка

Головоломки, Гиперказуальные, Мобильная

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Stm32

С этим тегом используют

Микроконтроллеры Электроника Arduino Программирование Своими руками Все
106 постов сначала свежее
73
pvit
4 года назад
Серия Reflow паялка

Делаю мини reflow-паялку для хоббистов⁠⁠

Я не занимаюсь разработкой электроники профессионально, просто нравится делать всякие интересные вещи. Еще со времен, когда транзисторы были M42Б, а платы из гетинакса. С тех пор мир сильно изменился. Платы стало проще заказывать в Китае, а для сборки я давно уже использую пасту и фен вместо паяльника. Нынче любой, при желании, может собирать дома на коленке довольно сложную электронику.


И хотя паяльником и феном пользоваться не особо трудно, хочется упростить процесс, используя пайку по термопрофилю (Reflow). Но я паяю относительно редко, и держать дома большую ИК-станцию или переделанную микроволновку не хочется. Нужно что-то совсем карманное, вроде паяльника TS80P. Так возникла идея сделать миниатюрный паяльный столик. Порыскав по интернетам, я обнаружил что люди уже навострились использовать миниатюрные керамические нагреватели. Но хотелось чего-то более "юзабельного". В общем, получилось так:

Делаю мини reflow-паялку для хоббистов Электроника, Микроконтроллеры, Stm32, Длиннопост
Делаю мини reflow-паялку для хоббистов Электроника, Микроконтроллеры, Stm32, Длиннопост

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


Сразу предупреждаю, что готово пока только железо.


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


Размер самого столика 60*70мм. Неравномерность - всего 5 градусов. Т.к. на 300 градусах эта штука жрет около 45-50 ватт, то получилось вписаться в параметры USB-PD зарядок.


Температура контролируется через ТКС вольфрама в керамическом нагревателе. Отсутствие внешнего датчика сильно упрощает конструктив.


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


На thingiverse можно посмотреть рендеры корпуса. Поддон, рамка дисплея и верхняя складная крышка с вентилятором (для охлаждения с нужной скоростью) - это все печатается.


Теперь дело за софтом. С интерфейсом все относительно предсказуемо. С USB-PD стеком пока не до конца понятно. Если вдруг кто захочет присоединиться - пишите.

Показать полностью 2
[моё] Электроника Микроконтроллеры Stm32 Длиннопост
27
26
daaar
4 года назад
Лига 3D-принтеров

Как восстановить bootloader принтера Voxelab Aquila (копия Ender 3 v2)⁠⁠

По мотивам моего предыдущего поста, где я просил у добрых людей дамп. Всё ниже изложенное может сработать и на Ender 3 v2

Bootloader можно повредить разными способами, свой я собственноручно стёр, но в вашем случае могут быть совсем другие причины(о которых я умолчу). Без bootloader'а принтер даже не включится и на дисплее кроме подсветки вы ничего не увидите, разве что зашумит вентилятор.

Как восстановить bootloader принтера Voxelab Aquila (копия Ender 3 v2) Voxelab, Ender 3, Bootloader, Stm32, Длиннопост

Плата принтера построена на микроконтроллере STM32, либо же на его китайской копии GD32. Эти два микроконтроллера должны быть аналогичны, но GD32 всё же имеет некоторые отличия, что важно при последующей прошивке. Чтобы прошить bootloader нужен ST-Link, либо bluepill(отладочная плата на STM32F103C8T6), но с ней надо повозиться чтобы сделать её программатором(гугл в помощь). Разъем для программирования находится между microusb и разъемом экрана. Всё подключается к соответствующим контактам на stlink.

Как восстановить bootloader принтера Voxelab Aquila (копия Ender 3 v2) Voxelab, Ender 3, Bootloader, Stm32, Длиннопост

Для прошивки я использовал ST-LINK Utility, скачивается без особых проблем с официального сайта. Алгоритм такой:

1) Подключить плату к программатору, программатор вставить в ПК. Нажать кнопку conncet to the traget

2) Открыть hex файл bootloader'a

3) Нажать program verify, подождать пока прошьется

4) disconnect from the target

После этих манипуляций вы прошьете bootloader и можно будет прошиваться с SD карты.

Как восстановить bootloader принтера Voxelab Aquila (копия Ender 3 v2) Voxelab, Ender 3, Bootloader, Stm32, Длиннопост

Этот мануал использовать нужно только когда ваш принтер превратился в кирпич и не шьется с sd карты! Так же это может быть актуально не только для Voxelab Aquila, но и для Ender 3 v2, так как у них абсолютно одинаковые платы.

Прошивки для STM32 и GD32 отличаются. Прошивка скомпилированная для STM32 может не запуститься на GD32 и наоборот.

Bootloader взял у поддержки Voxelab3dp.com

Показать полностью 3
[моё] Voxelab Ender 3 Bootloader Stm32 Длиннопост
12
17
DELETED
4 года назад

Налетай подешевело!⁠⁠

Выписывал в прошлом году несколько микроконтроллеров с алиэкспресса, без всяких проблем, доставка в течении 2-3 недели цены вполне демократичные:

Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост
Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост

Прошло полгода, понадобился мне STM32F407VGT6 (можно и VET6), контроллер не дефицитный и достаточно дешовый, заходим на али и видим чутка подорожало всего разиков в 5:

Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост
Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост

а тут так и вообще подорожало более 10 раз:

Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост

зато тут текстолит, обвес так и вообще в подарок идут при таких ценах:

Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост

просматриваем пикабу и видим мое счастье!!!! -

Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост

Неописуемая радость взыграла во мне, срочно бегу по ссылке покупать минимум 10 штук -

Налетай подешевело! Stm32, Электроника, Микропроцессор, Длиннопост

но что-то пошло не так....

Показать полностью 7
[моё] Stm32 Электроника Микропроцессор Длиннопост
36
18
kaper.su
4 года назад

Пытаюсь в CMSIS  на stm32⁠⁠

А вот и я )). Продолжаю Изучать stm32 .

В Общем как всегда работа отвлекает и времени катастрофически не хватает. Но тем не менее вот какие мысли у меня накопились.

Пытаюсь в CMSIS  на stm32 Stm32, Электроника, Длиннопост, Микроконтроллеры

Меня тут третировало пара человек дескать  я использую HAL для того чтобы дрыгать ножками , а ведь можно все это сделать и без этого. Если честно не понятно  мне это  маленько , ну типо HAL  и нужен  для того чтобы быстро сделать что то  не сильно вдаваясь в нюансы. наоборот что то сложное надо писать на cmsis чтобы быть ближе к железу. Это как рисование картин . Если тебе надо бил-борд ты используешь трафареты, если тебе нужна картина аля мишки в лесу воруют шишки то будь добр использую  краски кисточку талант и усердие (ИМХО)

Кароче  CMSIS  я в любом случае хотел изучить типо написать проект с 0 с минимум зависимостей. Но столкнулся с тем что непонимаю откуда берутся некоторые файлы.


Стандартный набор для разработки состоит из файлов cmsis (несколько штук), main.c, startup.c, flash.ld 

И вот как раз с последними файлами была прям трабла, я ни в какую не могу понять откуда и зачем эти файлы startup.c, flash.ld  Просто я привык что исходники всегда где то лежат их просто надо скачать с гитхаба и прицепить к друг другу . Здесь же был какой то хаус.  То-есть файлы обязательны но все начинали  разбирать  программирование с аля открываем ide  создаем проект и все поехали код писать.


После опроса некоторых разработчиков и чтение пары книжек я узнал что эти файлы не пишут их генерируют среды для разработки.  И в этом то и кроется этот хайсу и разнобой.

И все кого я спрашивал (а этих людей было очень много), говорили что они конфигурят эти файлы только если надо (что бывает очень редко) .



Если коротко то startup_**.s файл это набор привязок железа и их инструкций к тем или иным функциям в си, также выделяет место под стек, ну еще пару настроек о которых я скорее всего не знаю .


Файл FLASH.ld это линкер он собирает все в одну кучу и решает зависимости и конфликты. Как я понял FLASH.ld для всех stm32 практически одинаковый отличается только размер памяти, и опять же как я понял у некоторых камней есть плюшечки которые описываются в этом ld скрипте (например несколько ram не как обычно одна). Коротко об этом файле можно почитать здесь: http://themagicsmoke.ru/books/c_for_embedded_systems/text/linker.html



Так как файлы эти генерируются системами разработки. А я сижу на Debian и среды разработки keil (говорят что там более аккуратные файлы генерируются) мне было суждено использовать STM32cubeMX (я пытался сделать это с помощью среды segger но не осилил, было бы интересно узнать как это сделать, я бы с удовольствием посмотрел бы).


Я создал проект пустой без настроек . включил галочку чтобы мне вместе со всеми файлами сгенерировал make файл.

Пытаюсь в CMSIS  на stm32 Stm32, Электроника, Длиннопост, Микроконтроллеры

А потом просто вытащил нужные cmsis файлы ld-скрпит и стартап файл .


Stm32cubeMX генерирует system_stm32f1xx.c которая генерирует функцию SystemInit().

Функция которая вызывается при старте и описывается в файле startup_stm32f103xb.s в ней как правило описываются настройки микроконтроллера (тактовая частота и др), но в целом это не обязательно.

Также в это файле описывается переменная SystemCoreClock которая содержит в себе тактовую частоту. Еще в этом же файле лежит функция SystemCoreClockUpdate() которую надо вызывать всегда когда вы изменяете частоту работу камня. Этой функцией вы обновляете переменную SystemCoreClock.


В целом это было основное непонимание по файлам которое я разрешил для себя и решил этим поделится с вами.


Пока я изучал cmsis я написал небольшой набор функций пока тестировал разные штуки на STM32F103C8Tx.Основное что хотел запустить  это  UART но в примере  есть еще  MCU и обработка  кнопки.

Пытаюсь в CMSIS  на stm32 Stm32, Электроника, Длиннопост, Микроконтроллеры

Я руководствовался вот этими сайтами. пока писал код.

http://dimoon.ru/category/obuchalka/stm32f1

http://mypractic.ru/urok-20-interfejs-uart-v-stm32-rabota-s-nim-cherez-registry-cmsis-ispolzovanie-preryvaniya-uart.html


Если вас интересует uart с помощью HAL то вам сюда: https://istarik.ru/blog/stm32/120.html


Для отправки в uart можете воспользоваться скриптом на питоне который приложен к гиту python3 input.py


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


Но один прекрасный товарищ на ютубе уже рассказал как это можно сделать и сделал даже комментарии что почему и как:

https://pikabu.ru/story/razrabotka_skhemyi_i_pechatnoy_platyi_stm32_7277307


В следующей статье я постараюсь выложить проект розетки с реле таймером. Где будет возможность по дням недели настроить включение и выключение той или иной нагрузки. У меня уже есть одна реализации на HAL https://github.com/IzyI/timer_menu_lcd1602 Но реализация меня не совсем устраивает. Плюс у меня не хватает знаний по языку C. Я не знаю как реализовать те или иные структуры. Но постараюсь как то решить свое незнание.

Как то так.

Показать полностью 2
[моё] Stm32 Электроника Длиннопост Микроконтроллеры
3
7
StormVE
StormVE
4 года назад

Шкатулка с электронным сердцем⁠⁠

Приветствую.
Решил тут немного сувенирку попробовать 🤷‍♂️
В процессе разработки имеется вот такая шкатулка из фанеры порезанная на лазере, и имеющая в себе электронное сердце, которое включается при открытии крышки, причём не просто горит, а делает всякие выкрутасы. Питается оно от акб, который можно зарядить через Micro usb разъём, который имеется на задней стенке шкатулки.
Мог бы рассказать с какими трудностями сталкивался, как их решал, и какие на данный момент имеются. Да и в целом небольшую историю как я к этому пришёл.
Интересны вообще такие вещи тут?

И немного фоток для затравки 🙃

Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Шкатулка с электронным сердцем Шкатулка, Своими руками, Электроника, Stm32, Программирование, Подарки, Сердце, Длиннопост
Показать полностью 8
[моё] Шкатулка Своими руками Электроника Stm32 Программирование Подарки Сердце Длиннопост
8
460
DELETED
4 года назад

Не только видеокарты. Дефицит STM32⁠⁠

Тружусь в оптовых поставках электронных компонентов.

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


Кратко. В конце прошлого года почти все мои постоянные клиенты, которые в производстве используют контроллеры STM32 сделали плановые закупки на год вперёд.


Это объяснялось достаточно просто. У нескольких производителей случился "allocation". На практике так называется банальный дефицит. То есть за контроллерами выстроилась очередь. Обыватель, незнакомый с рынком компонентов, может провести аналогию с видеокартами сейчас. И так не дешёвый товар вдруг стал стоить в два раза выше. А люди, успевшие взять RTX3080 по 90к кажутся счастливчиками. Так же завидуют тем, разместившим крупные заказы до повышения цен.


Что же случилось? Да, причиной как обычно называется ковид. Сроки отгрузки изменились у многих производителей, среди них INFIN, NXP, Microchip, Renesas, ST.

Не только видеокарты. Дефицит STM32 Stm, Stm32, Дефицит, Рынок, B2b, Производители, Длиннопост

Так же в прошлом году микросхемы ST закупили гиганты мирового рынка для новой модели наушников - в AirPods Max используется 2шт STM32L496. И первые звоночки пришли уже тогда. Официальных новостей ещё не было, но начались слухи, которые и позволяют быть готовым к событию.

Не только видеокарты. Дефицит STM32 Stm, Stm32, Дефицит, Рынок, B2b, Производители, Длиннопост

Плюс ко всему этому следует добавить общий рост спроса на продукцию ST в России на фоне санкционных ограничений США и отслеживания движения товара многих брендов вплоть до конечного изделия. Благодаря этому многие клиенты перешли с американских брендов с жёстким контролем на ST, которые в РФ лояльно относятся к свободному рынку.

Не только видеокарты. Дефицит STM32 Stm, Stm32, Дефицит, Рынок, B2b, Производители, Длиннопост

На фоне начинающегося дефицита рынок быстро наполнился подделками и восстановленными контроллерами. Перемаркированные корпуса, старые МК в новом корпусе, просто б/у. Этого всего стало просто море. В основном из Азии. так же появились "типа аналоги", например GigaDevice GD32F* Хотя устройство этих аналогов немного отличается. Например на фото вскрытая GD32F103CBT6 - поверх основной микросхемы видна отдельная флеш-память. Это не хорошо и не плохо. Просто факт, который конечный клиент должен знать заранее.

Не только видеокарты. Дефицит STM32 Stm, Stm32, Дефицит, Рынок, B2b, Производители, Длиннопост

Что в итоге? В итоге у нас на рынке есть контроллеры с ценами в 10 раз выше прошлогодних.

Есть исключения: склады, у которых значительные запасы - повышают цены не на всё. Можно уравать что-то по старым ценам. Но это скорее исключение. По каким-то наименованиям, в основном с расширенным температурным диапазоном, появились огромные сроки и ограничения по минимальным партиям. При аналогично возросших ценах.


На почте десятки писем каждый день от хреновых снабженцев со всей необъятной. Суть которых "куплю STM32F*** 1000шт не дороже 300р/шт". Ну-ну. Удачи. Тут по 1100р/шт с руками и ногами разбирают твой МК, ещё и в очереди не прочь постоять.

Не только видеокарты. Дефицит STM32 Stm, Stm32, Дефицит, Рынок, B2b, Производители, Длиннопост

Будьте профессионалом.

Будьте в курсе новостей в своей нише.

Желательно до того, как они массово отразятся на ценах.


Некоторые источники:

https://www.electronicsweekly.com/news/business/unions-call-...

https://www.electronicsweekly.com/news/business/cad-union-ca...

http://tk-gm.com/Newsletter/EBV/2020_Commercial/11/Commercia...

https://www.eevblog.com/forum/microcontrollers/cheap-bluepil...

Показать полностью 5
[моё] Stm Stm32 Дефицит Рынок B2b Производители Длиннопост
86
8
kaper.su
4 года назад

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник⁠⁠

Кароч потерялся я из за работы. Но вот опять появилось времечко, и я тут же залез в микроконтроллеры stm32.



Изучение ковки начинается обычно с гвоздя, изучение столярного дела частенько начинается со стула или коробки, изучение языка программирования начинается с HELLO WORLD . В мире микроконтроллеров обычно все начинается с мигания светодиодом. Я наверно поступлю так же но чуть чуть по другому .


ТЗ мое примерно такое:

Я хочу с компьютера посылать команды, например 1-1,  а светодиод  на макетной плате соединенный с  ножкой 1 должен зажигался. А если отправить 1-0, то светодиод должен выключаться.

Где это можно Применить:

Например  можно подавать команды с компа на включение и выключение какого-нибудь реле.

В посте я распишу  то чего мне не хватало  , на что я потратил очень много времени чтобы разобраться, и какие бы ссылки бы я хотел получить если бы где то на форуме задал вопрос как  сделать uart на stm32.

Я скорее всего не буду расписывать что за что отвечает, потому-что не доконца компетентен в вопросах. И какие-то нюансы по коду тоже не напишу потому-что  в редакторе  пикабу нет возможности нормально редактировать его. . Проект пока-что будет написан на библиотеке HAL, он позволяет писать код как в ардуино. Сижу я из  под linux , поэтому некоторые ньюансы могут отличаться  от Windows.

Я еще экспериментирую с форматом.  Но если что предлагайте)) . Постараюсь  улучшить.


Предыдущий пост :https://pikabu.ru/story/stm32_ili_kak_ya_pokoryal_7982983


Юзать я буду микросхему STM32F103C8T6:

Ссылка на даташит https://www.st.com/en/microcontrollers-microprocessors/stm32...

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Для соединения с компом буду юзать переходник usb-uart на чипе PL-2303.

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Также нам нужен ST-link/v2 через который мы будем прошивать микроконтроллер

Соединить stm32 c ST-link/v2 нужно по этой схеме .

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Перед тем как начать собирать  схему и писать код нужно почитать инфу по регистрам.

STM32 имеет довольно богатую периферию и довольно сильно отличается от Arduino. Но концептуально логика управления микроконтроллером везде одинаковая. Ты просто обращаешься к регистрам и манипулируешь ими (включаешь выключаешь слушаешь.


Так как я такой себе embedder, я боюсь что не смогу грамотно разъяснить за регистры да и растянется это на очень много. Я сошлюсь на пару статей которыми я руководствовался:

1) Очень хорошо объясняет как управлять пинами с помощью библиотеки HAL .

http://mypractic.ru/urok-8-upravlenie-portami-vvoda-vyvoda-cherez-funkcii-biblioteki-hal.html

2) Вот неплохое объяснение что такое библиотека HAL :

https://istarik.ru/blog/stm32/119.html

3) По этой ссылке можно почитать про сами регистры на stm32 .На мой взгляд это лучшее объяснение по регистрам которое нашел.

http://mypractic.ru/urok-6-porty-vvoda-vyvoda-stm32.html

4) Здесь же объяснение как можно подергать ножкой через CMSIS

http://mypractic.ru/urok-7-upravlenie-portami-vvoda-vyvoda-cherez-registry-cmsis.html

В целом ознакомившись с этими ссылками можно уже иметь кое какое представление о регистрах.

5) Так как буду работать с uart . Я сошлюсь на статью про сам uart и как с ним работать через библиотеку HAL.

https://istarik.ru/blog/stm32/120.html

Проект можно посмотреть по ссылке на гитхабе :

https://github.com/IzyI/stm32_simple_examples/tree/master/simple_uart

Теперь же приступим к самой сборке Проекта.


Схема примерно такая

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

У меня на макетной плате это выглядит ка кто так :

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Теперь создадим в  CUBEMX  и настроим его тактирование

(про настройку тактирования можно почитать вот здесь http://mypractic.ru/urok-5-sistema-taktirovaniya-stm32.html):

Подключаем керамический резонатор.

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Настраиваем  тактирование:

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Незабываем подключать debag Serial Wire иначе второй раз  у нас микроконтроллер не  прошьется.

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Включаем UART  и включаем  прерывания

ПО прерываниям лучше всего почитать вот эти ссылки:

1) http://mypractic.ru/urok-15-parallelnye-processy-vypolnenie-zadach-v-fonovom-rezhime-pri-pomoshhi-preryvaniya-ot-tajmera.html

2) http://mypractic.ru/urok-18-sistema-preryvanij-stm32-organizaciya-i-upravlenie-preryvaniyami.html

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

Настраиваем пины:

Дрыгаем ножками stm32 с помощью команд через usb-uart переходник Stm32, Stm32f103, Длиннопост, Микроконтроллеры

И генерируем проект.

Осталось  только  скопипасть код с main.c  в ваш проект.


Также надо не забыть зарегестировать функцию HAL_UART_IDLE_Callback. добавив в stm32f1xx_hal_uart.h про это  я расписал в  этой ссылке.  В этой функции мы регистрируем  обработку  флага IDLE .

Этот флаг устанавливается аппаратно при обнаружении незанятой линии. То есть, если в приёмник поступает несколько байт подряд, а потом возникает пауза (линия находиться в состоянии HIGH некоторое время), то взводится флаг IDLE генерирующий прерывание, а мы по этому прерыванию определяем что данные перестали поступать.


Дальше компилируем и собираем, заливаем и радуемся. Ну или не радуемся))

make

st-flash write ./simple_uart.bin  0x08000000

Также для отправки сообщений я написал простенький скрипт на python используя библеотеку pyserial, С помощью  него можно отправить  команду в микроконтроллер:

python3 send.py 1-1

З.Ы. В следущем моем практикуме )). Я соберу  свою отладочную плату на подобие bluePill  с распаянным usb-uart. Код я напишу на  CMSIS, выполнять он будет  тоже самое ,  постараюсь максимально все  покрыть комментариями и все залью на githab.  И наверно я все  же сделаю большую  часть в виде видео.


З.Ы. з.ы. Я не последняя инстанция. Но если что пишите.) 

Показать полностью 10
[моё] Stm32 Stm32f103 Длиннопост Микроконтроллеры
15
Партнёрский материал Реклама
specials
specials

Сколько нужно времени, чтобы уложить теплый пол?⁠⁠

Точно не скажем, но в нашем проекте с этим можно справиться буквально за минуту одной левой!

Попробовать

Ремонт Теплый пол Текст
7
kaper.su
4 года назад

STM32 или как я покорял⁠⁠

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Короче была у меня когда то мысль написать уроки по python, еще в начале моей карьеры. Ибо натыкался на некоторые проблемы, решения к которым не мог долго найти, а потом находил но руки написать это дело не доходили.

И чем дальше я продвигался в изучении этого языка, тем сильнее у меня пропадал интерес к этой идее.

Я и предположил, что связано это с тем, что чем больше ты узнаешь о какой то штуке, тем меньше тебе хочется возвращаться к решенным когда то давно задачам. Старые задачи если ты их помнишь становятся для тебя тривиальным, скучными и рутинными ( хотя естественно в свое время они для меня были очень непонятны).

Другое дело когда ты решил изучить для себя совершенно неизвестную для себя штуку. Где каждое новое знание для тебя целое открытие, с которым лично я сразу же хочу делится. Правда обычно делится получается с теми кто под руку попался, и как правильно им это вообще не интересно (мама прости но это так)).

На днях я решил плотно заняться STM32. Я вообще, давно хотел разобраться в таинствах микросхем , и пособирать всякие штуки на их основе. Даже года 2 назад закупил целый набор ардуино со всяким барахлом датчиками и т д и т п.


Но семья, работа, дом, теща, собака, кошка, корова, друзья, пиво, плохая погода, песни моргенштерна все это мешало мне заниматься этим делом.


Теперь наконец то я вырвался из этого порочного круга.

И чтобы мне было веселее я решил заливать то, как я изучаю все эти штуковины.


Это прелюдия а щас по факту:

1) Я сижу из под Debian , поэтому меня будет интересовать подходы разработки в этой среде. В целом это не сильно будет влиять на общую картину.

2) Почему stm32.  все просто, хочу заниматься булингом ардуинщиков

3) В качестве среды разработки буду использовать VSCODE , мы же тут все за опенсорс не правда ли. ( НЕТ ,все равно потому буду писать скорее всего на jetbrains, продался...).

4) Прошивать буду через стандартный китайский stlink, потому незабываем его качнуть и поставить , любым удобным способом https://github.com/stlink-org/stlink

5) Копию кода (урезанного) я буду заливать на гитхаб : https://github.com/IzyI

6) Я буду мега максимально субъективен. Буду писать только те моменты которые я не понял и те нюансы которые мне показались важными. А также буду давать ссылки на сторонние ресурсы. Откуда я черпал знания. У боле умных людей.

7) Писать буду на  СИ.  И код я так себе пишу, даже если это Python. И уж если решили ругать мой код, то помните что главный ответ на главный вопрос 42.

8)  Для сборки проектов буду использовать stm32cubemx https://www.st.com/en/development-tools/stm32cubemx.html ибо  удобство

9) Большая часть кода скорее всего будет написана на библиотеке HAL. Но постараюсь по мере освоения юзать и CMSIS . Вкратце если кто не знает то в мире STM32 существует 3 библиотеки которые юзают  разработчики :

- - **HAL** - набор драйверов позволяющая обращаться ко всей периферии микроконтроллера не сильно вдаваясь в суть .


**Плюсы:**

- скорость разработки

- мультиплатформенность (легко перенести код с одного stm32 на другой stm32 более жирный к примеру)

- простота работы.


**Минусы:**

- знающие говорят что местами глючная

- рано или поздно все равно надо лезть в кишки микроконтроллера

- жирноват по коду

- местами так се написана (многим не нравится).


*Отличный выбор если вам надо быстро поднять USB стек.*

*Херовый если вам надо выжать из микроконтроллера максимум. *

- - **СMSIS** - (Cortex Microcontroller Software Interface Standard) как вы не поняли это стандартное описания интерфейса для всех армов, включает в себя структуры описания регистров и стартовый набор макросов для работы.


**Плюсы:**

- работа напрямую с регистрами

- скорость кода и его размер

- чистота (прозрачность) кода

- скилы прокачиваются как у летчиков в 41-45 , ты либо выживешь во время вылета, либо тя собьют к (херам)

- можно делать просто волшебные штуки

- лапочка со всех сторон


**Минусы:**

- нет мультиплатформенности

- очень долгая разработка

* Отличный выбор если вы шарите и у вас много времени по жизни*

*Херовый если сроки горят или вы узнали что такое регистры месяц назад. *

- - **LL** - без понятия что за библиотека, да и в холиварах ее редко упоминают, а это значит нам это не интересно

А теперь коротко что нам надо для работы в Debian.

- компилятор:

sudo apt-get install gcc-arm-none-eabi


- openocd:

Эта штука отладчик, по идее понадобится потом

sudo apt-get install openocd


- stm32cubemx

Идем на офицальный STM сайт https://www.st.com/en/development-tools/stm32cubemx.html. Регаемся и качаем оттуда STM32cubemx.


Также можете скачать и установить IDE STM32cubeide, я не совсем люблю подобный софт, но думаю что в будущем это может пригодится как никак STM32cubeide все же заточен на работу с этими микроконтроллерами.


Для винды я не думаю что стоит приводить пример ибо там все накликивается кнопками

Идем на офицальный STM сайт https://www.st.com/en/development-tools/stm32cubemx.html. Регаемся и качаем оттуда STM32cubemx. Также можете скачать и установить IDE STM32cubeide, я не совсем люблю подобный софт, но думаю что в будущем это может пригодится как никак STM32cubemx все же заточен на работу с этими микроконтроллерами.

VSCODE я думаю тоже разберетесь и установите https://code.visualstudio.com/. В целом, на чем писать не так важно, лишь бы удобно было. VSCODE бесплатный и там есть более менее работающий переход по функциям и автоподсказки (но это не точно).


Что-жь соберем заготовку на наш первый проект.


Запустим STM32cubemx находим вкладку File кликаем new project.

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Теперь найдем нужный нам микроконтроллер и кликнем start project.

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Теперь переходим на вкладку project Manager. Указываем в качестве названия t1 во вкладке toolchain указываем Makefile

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Кликаем generate code открываем через VSCODE. в терминале заходим в папку пишем make. На выходе у нас появляется папка build в которой лежат готовый файлы для заливки кода.

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Как вы видите в linux не так сложно все это запустить. Хотя если честно когда я только сел разбираться для меня это был просто пи*ц. Даже щас из за больших пробелов в знании в языке Си и сборке через Cmake и Make файл, я страдаю . Но чай разберемся.))


P.S Я не последняя инстанция. Но если что пишите.)

Показать полностью 4
[моё] Stm32 Linux Разработчики Длиннопост Самоделки
33
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии