Pull to refresh
35.2
Karma
15
Rating
Андрей @megalloid

Инженер, тестировщик, радиоинженер

  • Followers 109
  • Following 8

Начинаем изучать STM32 или Управляем светом по-умному

Согласен, ваше мнение безусловно имеет право на существование, но мне на момент определения какой МК взять для реализации задачи — показалось интереснее «броситься в омут с головой» и взяться именно за STM32, хотя и понимая, что AVR значительно проще в освоении.

Начинаем изучать STM32 или Управляем светом по-умному

До проф. программистов мне явно далеко, и пока я возможно кому-то помогу понять базовые стартовые вещи поняв которые человек уже сможет отправиться в обучение самостоятельно. Я, к примеру, когда только взял в руки Discovery понятия не имел как ее запрограммировать и как поморгать светодиодами — мои статьи скорее для зеленых новичков нежели для проф. программистов. Нужно понимать на какую аудиторию нацелены мои материалы.

Начинаем изучать STM32 или Управляем светом по-умному

Вспомогательные утилки типа ST-Studio, ST-LINK Utility, CubeMX и многие другие я хотел рассмотреть в отдельной статье, особенно показав возможность Real-TIme отладки.

Я планирую плавный переход с С на С++. Но пока что не достиг должно уровня компетенции в вопрос чтобы кооперироваться по вопросу. Спасибо за предложение.

Начинаем изучать STM32 или Управляем светом по-умному

Я имею ввиду не тех необычных ардуинщиков а в целом парадигму Arduino-программирования и то на что она ориентирована. Если интересно: начните отсюда blogs.msdn.microsoft.com/rucoding4fun/2012/01/14/visual-studio-20082010-arduino

Начинаем изучать STM32 или Управляем светом по-умному

Вообще, на самом деле, прежде чем выбрать LoRa я опробовал целую кучу решений для радиосвязи прежде чем остановился на LoRa.
1. ESP8266 — глючил, не оживал после резкой перезагрузки. Прожорлив по питанию. В целом не очень решение для организации низкопотребляющего автономного устройства.
2. RF-433 модули — примитивные, ASK-модуляция, никакого протокола и механизма обработки пакетов, полностью ручное управление.
3. NRF24L01+ — хорошие модули НО: криво работающая система адресации, ограничение на количество сетевых адресов в сети (7 по-моему). Бывает такое что одному модулю прилетает не предназначенный для него пакет, он шлёт ACK на передатчик и целевое устройство не получает то что должно было придти к нему.
4. SPIRIT1 — богатые по функционалу и возможностям устройства, но требуют разработки радиотракта (лежит за пределами моих текущих компетенций) и настройки согласования антенны. Готовые модули SPSGRF-XXX дорогие и имеют малый радиус покрытия даже с антенной.
5. LoRa — низкое потребление, большая дальность. Настраиваемые прерывания на ноги GPIO самого модуля, RSSI, пакетный конвейер, и много других фишек (которые к слову есть и в SPIRIT1). Предстоит еще обкатать чтобы сделать выводы об этом модуле. Ну и много хороших отзывов.

Начинаем изучать STM32 или Управляем светом по-умному

Вы про это что-ли? Обратите внимание на тело функции пожалуйста :D
int usleep( useconds_t __useconds )
{    
    volatile uint32_t nCount;
    RCC_ClocksTypeDef RCC_Clocks;
    RCC_GetClocksFreq (&RCC_Clocks);
    nCount = ( RCC_Clocks.HCLK_Frequency / 10000000 ) * __useconds;
    for( ; nCount !=0 ; nCount-- );
    return 0;
}

Начинаем изучать STM32 или Управляем светом по-умному

Всё ношу в голове мысль попробовать паяльную пасту. Но пока только флюс, фен, паяльник.
Последовательность проста:
1. Залуживаем после вытравки дорожки
2. Наносим флюс
3. Позиционируем МК
4. Нагреваем феном удерживая МК пинцетом
5. Ждём пока усядется МК.
6. Чистим плату от флюса, проверяем пропайку через микроскоп.
7. Допаиваем ноги острым жалом, если где-то есть подозрения на непропай.

Закупки все осуществляю у местного (г.Екатеринбург) поставщика, в Промэлектронике.

Если интересно — загуглите STM32F051K8U6, на Али они тоже есть в продаже. Ценник особо не отличается от «Промки», мне лично время дороже, не люблю ждать. Либо обычно заказываю заранее.

Начинаем изучать STM32 или Управляем светом по-умному

1. Я не делаю вывод на основании того, что поморгав светодиодом мы можем сделать всё что угодно. Поморгать светодиодом это своеобразный ритуал вожделенного дрыганья ногой от нашего МК, первое что хотят новички от МК и я не отказал им в праве удовлетворить своё желание вдоволь надрыгаться.
2. Вы видимо не уловили из этой статьй информацию о том, что я собираюсь написать цикл статей по данному МК и его периферии.
3. Большая часть моих библиотек это переработанный и адаптированный HAL, с организацией под удобную мне форму. Это вы увидите когда я выложу первый проект.
4. Кто вам сказал что мне не интересен сам HAL? Мне не интересна та форма в котором её подаёт ST.
5. Насчёт переписывания — ее никто не переписывает/переделывает — я сменил форму не меняя содержания.
6. Когда упрёмся — тогда и поговорим о переходе. Пока в текущих рамках Keil более чем достаточно.

Начинаем изучать STM32 или Управляем светом по-умному

Предложите лучший вариант без использования дополнительной периферии для организации задержки. Очень интересно было бы увидеть оригинальное и простое решение! =)

Начинаем изучать STM32 или Управляем светом по-умному

Не рискну делать каких-либо выводов но мне кажется что портируемый код был достаточно прост чтобы плавно переехать с F103 на L433. Я люблю абстракции но с условием полного понимания что за этими абстракциями происходит.

Начинаем изучать STM32 или Управляем светом по-умному

Генерируемый код, на мой взгляд, очень не читабелен и трудно отследить его до низкоуровневой составляющей. Нет наглядности. Простота — да, скорость — да, удобство — несомненно. Но я прежде всего планирую научить и рассказать, а потом уже предлагать готовые решения и уровни абстракции, причем на начальном этапе я рассматривают CubeMX как абстракцию от понимания того что происходит на нижних уровнях и как это всё работает. Мне, как инженеру, интересно как там всё устроено и по какому принципу всё работает.

Начинаем изучать STM32 или Управляем светом по-умному

Так или иначе данный подход не реализует весь потенциал STM32 во всей широте и не даст ощутимой прокачки скилла и опыта т.к. всё будет уже готовое.

Начинаем изучать STM32 или Управляем светом по-умному

В моих библиотеках получилась смесь CMSIS + HAL + плюшки CubeMX (в плане удобного интерфейса для рассчёта схемы тактирования и справочной составляющей этой программы) завёрнутая в удобные иерархически выстроенные и отлично откомментированные библиотеки.
Спасибо Вам за добрые слова! Именно хорошие отзывы больше всего вдохновляют! =)

Начинаем изучать STM32 или Управляем светом по-умному

Спасибо за добрые слова!) Постараюсь регулярно радовать Вас своими материалами.

Начинаем изучать STM32 или Управляем светом по-умному

Я юзаю QFN-корпуса и платы делаются относительно не плохо. Тем более, если учитывать тот факт, что габариты встраиваемого устройства порой сильно ограничены.

Начинаем изучать STM32 или Управляем светом по-умному

Рассчёт был именно на «писать столько статей». Т.к. когда готовишь подобного рода материал для публикации — как минимум систематизируешь свои знания и иногда можно даже узнать что-то новое. Поэтому мотивация продолжать написание разного рода статей — железная! =)

Начинаем изучать STM32 или Управляем светом по-умному

Да, это самое дешевое предложение из имеющихся на базе STM32 — около 100р. из Китая.
Но т.к. серия STM32F103 была пилотной серией 32-разрядных МК от ST — всё получилось по принципу «первый блин комом». И есть ряд различий по картам регистров и проблемы с совместимостью с текущим предложением в аналогичной линейке продуктов от ST.

Начинаем изучать STM32 или Управляем светом по-умному

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

Цель моего материала — наиболее широкое освещение спектра базовых вопросов и изложение аккумулированного мною опыта. То есть создание такого материала, которого мне так не хватало на момент когда я начинал изучать STM32.

Information

Rating
302-nd
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity