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

Грибные блоки

Головоломки, Расслабляющая, Пазлы

Играть

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

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

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

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

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

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

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

Stm32

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

Микроконтроллеры Электроника Arduino Программирование Своими руками Все
106 постов сначала свежее
60
shuran958
6 лет назад
TECHNO BROTHER

Stm32 запускает новую линейку камней! G0x⁠⁠

Привет всем. Хочу поделиться с вами радостью, не знаю как вы, а я очень ждал, когда же stm обратит внимание на то, что люядм нужно больше недорогих чипов, причем хотелось увидеть не только 20 ногие контролееры вроде stm32f0x, а так же что то поменьше, и вот свершилось. Думаю некоторые из вас следят на новостями и уже узнали из других источников о релизе линейки контроллеров STM32G0.

Ну а для тех кто не в курсе, рад поделиться новостью. Новая линейка не только будет иметь чипы в 8и ногих корпусах, которые смогут без проблем заменить всякие attiny 85 и им подобные, но при этом будет иметь 32х разрядную архитектуру и кучу новых фич, среди которых гораздо меньшее число перефирийной обвязки, уменьшившееся до пары резисторов (все остальное уже встроено в чип), высокоскоростной встроенный кварц, USB-c power delivery. Приведу пару скринов из официально презентации:

Stm32 запускает новую линейку камней! G0x Stm32, Новости
Stm32 запускает новую линейку камней! G0x Stm32, Новости

Для тех кто хочет более подробного описания вот ссылка на собственно презентацию:

https://www.st.com/content/ccc/resource/sales_and_marketing/...


И что еще прекрасно, есть обучающие видео, наконец то нормальные видео от STM:

https://www.st.com/content/st_com/en/support/learning/stm32-...


Я уже заказал на пробу NUCLEO-G071RB для экспериментов, а вы? ;)

Показать полностью 2
Stm32 Новости
42
41
shuran958
6 лет назад
TECHNO BROTHER

Stm32 HAL DS3231⁠⁠

Пришла идея собрать часики на STM32 и я столкнулся с тем, что все либы для DS3231 либо на SPL, либо просто ужасающе нерабочие. Потому взялся написать собственную, чем и хочу с вами поделиться, код еще не вполне закончен, но уже вполне юзабелен. Был сделан акцент на простоту использования и независимость от конкретной модели stm32, код тестировался на stm32f103c8t6, но подойдет любой контроллер имеющий i2c и желательно usart для сообщений отладки, но это необязательно. Либа активно дописывается и будет совершенствоваться в будущем в моих и возможно ваших проектах ;)

https://github.com/shurankain/stm32f1_ds3231_oled


P.S. HAL был выбран не просто так, начиная с версии 2019.1 JetBrains обещает поддержку embedded разработки и интeграцию OpenOCD + STM32CubeMX плагина в среду CLion, которую я считаю лучшей, хоть и платной IDE из сущестующих для работы с С++.

Stm32 HAL DS3231 Stm32, Stm32f103
[моё] Stm32 Stm32f103
17
19
shuran958
6 лет назад
TECHNO BROTHER

Stm32 HAL tea5767 fm radio example + lib⁠⁠

Давно хотел разобраться как TEA5767 заставить работать в паре с stm32, и вот простейшая либа портированная с ардуинки готова, может кому-то так же будет полезно:

https://bitbucket.org/shurankain/stm32f103_tea5767_test/src/...

Пример написан для blue_pill, но либа никак не зависит от модели контроллера smt32.


для тех кому ближе ардуинка, вот пример на pro_mini atmega368 5v 16mHz, но уже с SSD1306 и управлением двумя кнопками, тут сама либа для TEA5767 не моя, ее автор Simon Monk, за что ему спасибо, благодаря простоте его кода и разобрался :

https://bitbucket.org/shurankain/tea5767_oled_pro_mini


В любом случае рекомендую использвать усилитель, вроде PAM8403 на выходе радиомодуля, иначе сигнал будет очень слабым, разве что в наушнике различимым и использовать для усилителя отдельное питание, даже небольшой советский динамик потребляет больше, чем сможет отдать ардуина/stm32. А так-же желательно питать TEA5767 от 3.3v, так помех меньше, не забывайте что 5v - предельное напряжение питания для нее.

[моё] Stm32 Arduino Текст
2
peredelkin
peredelkin
6 лет назад

На Новый Год обязательно нужна гирлянда.⁠⁠

Даже, если это будущий эбу.

[моё] Новый Год Stm32 Электроника Видео
11
99
isdubkov
isdubkov
6 лет назад
Arduino & Pi

Операционные системы Mbed и RIOT OS на STM32⁠⁠

Всем привет! Сделал пару небольших видео о том, как начать работать с операционными системами реального времени Mbed OS и RIOT OS на микроконтроллерах STM32. Обе эти операционки поддерживают широкий диапазон чипов  от разных производителей с разными ядрами ARM, но начинаем мы с STM, потому что они, как правило, более доступны к покупке. И та, и другая система  предназначена для быстрой разработки IoT-девайсов и поэтому поддерживает всякие сетевые и беспроводные стеки из коробки.

Первое видео про Nucleo STM32F767 и Mbed. Для начала работы с Mbed даже не надо ничего устанавливать - все необходимые инструменты доступны онлайн, включая большой зоопарк примеров на все случаи жизни. После сборки своего приложения из браузера вы скачиваете готовый бинарный файл прошивки, который затем загружаете в плату. Если всё-таки хочется кодить на локальном компьютере, то можно прикрутить плагин Platformio к VS Code и обеспечить себя локальным тулчейном под WIndows, Mac и Linux. Здесь всё очень просто и казуально, а код получается более элегантным, чем на Arduino, попробуйте!

RIOT OS называют Linux для IoT-девайсов, потому что у неё полностью открытые исходники, и большое сообщество. Реалтайм, мультитрэдинг, модульность... и еще много хороших слов можно сказать про RIOT, при том она она занимает всего от 5 КБ во флэше и от 1,5 КБ в оперативе. Разрабатывать на ней чуть более хардкорно, чем на Mbed, потому что надо скачать исходники себе в Linux и править руками мэйкфайлы. Если вас это не пугает, то вы получите конфетку в виде очень крутой и гибкой системы.

Всем больших успехов в разработке!

Показать полностью 1
[моё] Stm32 Nucleo Discovery Rtos Mbed Riot Os Видео
53
32
FastElectron
6 лет назад
TECHNO BROTHER

"Пэйн, я ног не чувствую...."⁠⁠

"Пэйн, я ног не чувствую...." Stm32, Электролиз, Пэйн

"...А у тебя их нет!"(с.)

Вот что бывает, когда морская вода попадает на контакты. В результате электролиза съело ноги )) Ну и транзистору сверху слева тоже видимо поплохело.

[моё] Stm32 Электролиз Пэйн
9
16
peredelkin
peredelkin
7 лет назад

Время кодить⁠⁠

Время кодить Arm, Stm32, Бессонница, Программирование

Пришел с работы и проспал до 23:30 примерно.
За окном 4:30 примерно. Ковыряюсь с захватом дпкв.
К 8 на работу.

[моё] Arm Stm32 Бессонница Программирование
49

Продвиньте ваш пост

Перейти
Партнёрский материал Реклама
specials
specials

Нужно больше внимания к постам? Есть способ!⁠⁠

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

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

Продвинуть пост

Продвижение Посты на Пикабу Текст
77
shuran958
7 лет назад
TECHNO BROTHER

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы⁠⁠

И снова здравствуйте. Сегодня я хотел бы рассказать о не очень сложной, но достаточно полезной штуке - АЦП (Analog to Digital Converter) в stm32.


В тексте будут встречаться отсылки на мою первую статью, которую вы можете найти тут: https://pikabu.ru/story/dlya_nachinayushchikh_stm32f103c8t6_...


Итак, АЦП можно представить, как вольтметр, выдающий различные цифровые значения в зависимости от входного напряжения. В STM32 АЦП 12 разрядный, а входное напряжение на его входе колеблется от 0 до 3.3v (напряжение питания контроллера). Конструируя собственные поделки на камнях STM32 необходимо понимать, как работает АЦП.


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


Давайте перейдем к наглядным примерам. Имеется 4 светодиода, каждый из которых подключен к выходам контроллера PB12(красный) PB13(желтый) PB14(зеленый) и PB15 (синий). Давайте подключим так же потенциометр, который будет работать делителем напряжения, а выходное значение будет обрабатываться нашим АЦП. Так же параллельно потенциометру подключим вольтметр, который будет помогать нам определить, что в данный момент на выходе делителя и соответственно на входе АЦП (в нашем случае это будет PA0).

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры
Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры
Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры
Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры

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

#define ADC_0V_VALUE 0 //0V

#define ADC_1V_VALUE 1024 //0.825V

#define ADC_2V_VALUE 2048 //1.65V

#define ADC_3V_VALUE 3072 //2.475V


Итак, программа написана следующим образом. В зависимости от значения на выходе потенциометра будет устанавливаться высокий уровень (загораться светодиод) на выходах PB12-PB15.


Теперь перейем к созданию проекта. В CubeMX выберем нашу плату STM32F103C8Tx. Активируем ADC для IN0. Отметим порты PB12-PB15 как выходные. Включим дебаг через Serial Wire и подключим внешний кварц HSE (опционально).

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры

Вкладка Clock Configuration не имеет никаких изменений по сравнению с предыдущей статьей:

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры

А теперь зайдем в настройки AЦП:

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры

Вполне возможно, вы читали какие то гайды и как правило во всех них, при использовании куба с этой отладочной платой имеется аналогичный скрин, где видна возможность настройки разрядности АЦП (вроде этого):

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры

Но реальность увы не иная, возможно, ранее разрядность АЦП и можно было настроить для этого камня, но теперь куб такой возможности не предоставляет и окно конфига выглядит так:

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры

Возможно, это обусловлено тем, что камень f103 один из самых старых, и stm просто уделяет ему меньше внимания, но это не так критично, ведь по умолчанию, хоть разрядность ацп и не указана, но она выставлена как максимальное значение 12 бит. Все что нам необходимо, это включить Continious Conversion Mode, как на скрине выше. Зачем? Давайте останоовимся немного на режимах работы АЦП их 3:


1. Scan Conversion Mode (Многоканальный) - этот режим используется в том случае, если у нас будет несколько входных каналов преобразователя. Т.к. в данном случае мы используем только один вход A0, то этот режим оставляем отключенным. Если же вы используете несколько входных каналов, то АЦП можно будет сконфигурировать для их опроса в заданной последовательности.


2. Continious Conversion Mode (Циклический) - если этот режим отключен, то опрос канала/каналов произойдет лишь однажды, результат запишется в выходной регистр АЦП и данные всегда будут неизменны. В случае активацции, опрос каналов будет происходить непрерывно, и данные в выходном регистре будут обновляться.


3. Discontinuous Conversion Mode (Непоследовательный) - этот режим позволяет настроить АЦП сканирующее несколько каналов так, что бы опрос происходил не по всем каналам, а по заранее заданным группам каналов, причем если групп несколько, то за раз будет опрашиваться толко одна, затем следующая и т.д.


Следующий раздел ADC_Regular_ConversionMode предоставляет возможность сконфигурировать работу нескольких АЦП. Его мы рассмотрим в следующих статьях в более сложных примерах, а сейчас просто оставим все заданные значения по умолчанию.


На этом конфигурацию проэкта в CoubMX можно считать законченной. Завершим создание проекта для Atollic по аналогии с прошлой статьей.

Stm32f103C8T6 ADC (АЦП - аналого-цифровой преобразователь) основы Stm32f103, Гайд, Stm32, Длиннопост, Микроконтроллеры

Вся программная релизация заключается в объявлении переменной, хранящей значение adcResult и объявлении выше описанных #define значений. После этого в цикле читаем значение с АЦП в переменную adcResult и останавливаем АЦП до следующей итерации цикла:


HAL_ADC_Start(&hadc1);

HAL_ADC_PollForConversion(&hadc1, 100);

adcResult = HAL_ADC_GetValue(&hadc1);

HAL_ADC_Stop(&hadc1);


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


Код приложения доступен для скачивания по ссылке: https://bitbucket.org/shurankain/adc_leds_f103/downloads/


Стоит заметить, что камень STM32F103C8 имеет встроенных 2 АЦП, каждый из которых может обрабатывать до 18 каналов. Каналами могут служить не только данные извне, но и от внутренних источников. На используемой нами плате доступны 10 внешних каналов (ADC1_IN0-ADC1_IN9 или ADC2_IN0-ADC2-IN9), а так же внутренний термометр встроенный в чип и опорное напряжение (1.20V но может меняться от температуры).


P.S. Дабы избежать ненужных вопросов в стиле: "а чем отличается от Адруино?", - отвечу сразу. Рарядностью. В ардуино 10и разрядный АЦП в stm32 12и разрядный. Что это значит? Ардуино может дискретизировать входной сигнал с точностью 1/1024 (1024 = 2 в 10й степени), в случае с stm32 это 1/4096 (2 в 12й степени). Соответственно, благодаря двум дополнительным разрядам, АЦП в stm32 выдает результат в 4 раза точнее.


P.S. Я обязательно расскажу об использовании нескольких АЦП в будущих статьях. Но в ближайших планируется рассказать о работе с i2c, подключении дисплеев и датчиков. Хочу поблагодарить своих подписчиков, которые у меня появились за интерес к данной теме! Буду рад отвтетить на ваши вопросы и услышать ценные советы с вашей стороны. Спасибо.

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