Как стать автором
Обновить
148
117
Андрей @megalloid

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

Отправить сообщение
Я имею ввиду не тех необычных ардуинщиков а в целом парадигму Arduino-программирования и то на что она ориентирована. Если интересно: начните отсюда blogs.msdn.microsoft.com/rucoding4fun/2012/01/14/visual-studio-20082010-arduino
Вообще, на самом деле, прежде чем выбрать LoRa я опробовал целую кучу решений для радиосвязи прежде чем остановился на LoRa.
1. ESP8266 — глючил, не оживал после резкой перезагрузки. Прожорлив по питанию. В целом не очень решение для организации низкопотребляющего автономного устройства.
2. RF-433 модули — примитивные, ASK-модуляция, никакого протокола и механизма обработки пакетов, полностью ручное управление.
3. NRF24L01+ — хорошие модули НО: криво работающая система адресации, ограничение на количество сетевых адресов в сети (7 по-моему). Бывает такое что одному модулю прилетает не предназначенный для него пакет, он шлёт ACK на передатчик и целевое устройство не получает то что должно было придти к нему.
4. SPIRIT1 — богатые по функционалу и возможностям устройства, но требуют разработки радиотракта (лежит за пределами моих текущих компетенций) и настройки согласования антенны. Готовые модули SPSGRF-XXX дорогие и имеют малый радиус покрытия даже с антенной.
5. LoRa — низкое потребление, большая дальность. Настраиваемые прерывания на ноги GPIO самого модуля, RSSI, пакетный конвейер, и много других фишек (которые к слову есть и в SPIRIT1). Предстоит еще обкатать чтобы сделать выводы об этом модуле. Ну и много хороших отзывов.
Вы про это что-ли? Обратите внимание на тело функции пожалуйста :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;
}
Всё ношу в голове мысль попробовать паяльную пасту. Но пока только флюс, фен, паяльник.
Последовательность проста:
1. Залуживаем после вытравки дорожки
2. Наносим флюс
3. Позиционируем МК
4. Нагреваем феном удерживая МК пинцетом
5. Ждём пока усядется МК.
6. Чистим плату от флюса, проверяем пропайку через микроскоп.
7. Допаиваем ноги острым жалом, если где-то есть подозрения на непропай.

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

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

Предложите лучший вариант без использования дополнительной периферии для организации задержки. Очень интересно было бы увидеть оригинальное и простое решение! =)
Не рискну делать каких-либо выводов но мне кажется что портируемый код был достаточно прост чтобы плавно переехать с F103 на L433. Я люблю абстракции но с условием полного понимания что за этими абстракциями происходит.
Генерируемый код, на мой взгляд, очень не читабелен и трудно отследить его до низкоуровневой составляющей. Нет наглядности. Простота — да, скорость — да, удобство — несомненно. Но я прежде всего планирую научить и рассказать, а потом уже предлагать готовые решения и уровни абстракции, причем на начальном этапе я рассматривают CubeMX как абстракцию от понимания того что происходит на нижних уровнях и как это всё работает. Мне, как инженеру, интересно как там всё устроено и по какому принципу всё работает.
Так или иначе данный подход не реализует весь потенциал STM32 во всей широте и не даст ощутимой прокачки скилла и опыта т.к. всё будет уже готовое.
В моих библиотеках получилась смесь CMSIS + HAL + плюшки CubeMX (в плане удобного интерфейса для рассчёта схемы тактирования и справочной составляющей этой программы) завёрнутая в удобные иерархически выстроенные и отлично откомментированные библиотеки.
Спасибо Вам за добрые слова! Именно хорошие отзывы больше всего вдохновляют! =)
Спасибо за добрые слова!) Постараюсь регулярно радовать Вас своими материалами.
Я юзаю QFN-корпуса и платы делаются относительно не плохо. Тем более, если учитывать тот факт, что габариты встраиваемого устройства порой сильно ограничены.
Рассчёт был именно на «писать столько статей». Т.к. когда готовишь подобного рода материал для публикации — как минимум систематизируешь свои знания и иногда можно даже узнать что-то новое. Поэтому мотивация продолжать написание разного рода статей — железная! =)
Да, это самое дешевое предложение из имеющихся на базе STM32 — около 100р. из Китая.
Но т.к. серия STM32F103 была пилотной серией 32-разрядных МК от ST — всё получилось по принципу «первый блин комом». И есть ряд различий по картам регистров и проблемы с совместимостью с текущим предложением в аналогичной линейке продуктов от ST.
Вся проблема в том, что информация по вопросу достаточно фрагментарна и приходится её аккумулировать, ползая по огромному количеству ресурсов и складывая общую картину из пазлла. Ну и некоторые вещи которые я собираюсь рассмотреть взяты из англоязычных источников. А начинающие, как правило, не отягощены знанием тех. английского и порой передовой опыт зарубежных коллег обходит новичков стороной.

Цель моего материала — наиболее широкое освещение спектра базовых вопросов и изложение аккумулированного мною опыта. То есть создание такого материала, которого мне так не хватало на момент когда я начинал изучать STM32.
Не понятно))) Парадигма Arduino построена на использовании готовых библиотек и отчасти кода из семплов с последующей переадаптацией
1. Одноранговые устройства сети: датчики, управлялки, модули, драйверы и др. — это всё на STM32 + LoRa.
2. Центральный контроллер на RPi3 + LoRa.
Согласен. DiHALT очень хороший базис даёт. Просто о сложном — это про него.

Информация

В рейтинге
30-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Quality Assurance Engineer, Hardware QA/QC Lead Engineer
Lead
Git
Python
Database
Bash
Shell
Linux
MySQL