RSS блога
Подписка
Плата разработчика STM32F401CCU6 за $3.14
По названию понятно какой использован контроллер. Рабочая частота: 84 МГц; Флеш память: 256 кБайт; ОЗУ SRAM: 64 кБайт; Количество счетчиков-таймеров: 7+1; Количество интерфейсов I2C: 3; Количество интерфейсов USART: 3; Количество интерфейсов SDIO: 1; Количество интерфейсов USB OTG FS: 1; Количество каналов 12-bit ADC: 16, Type-C разъем вместо MicroUSB, хотя еще есть платы на мини. И всё это по цене в полторы самой дешевой ардуино нано. Единственный минус, нельзя взять Arduino IDE и начать работать с STM32, но вот тут можно почитать как их «подружить».
Рейтинг скидки:
+21
Самые обсуждаемые обзоры
+129 |
6154
205
|
+74 |
2288
42
|
+55 |
2198
79
|
А здесь, на плату устанавливливают, видимо, то, что массово идет на производстве. Или что оказалось дешевле закупить.
А по большому счёту PLL всё снивелирует.
Но я взял аналогичную плату на базе чипа STM32F411CEU6. Там чип быстрее за счет тактовой до 100 MHz.
2. «Таблетка» хорошо подойдёт для прототипирования и опробации различных устройств и идей.
3. Для заказных мелко-серийных (до 10 экземпляров) устройств — это тоже весьма удачное решение.
Моё сугубо личное мнение основано на опыте применения «blue pill».
Я сейчас в PlatformIO ковыряю «голубую пилюлю». Там если запустить мастер создания нового проекта, то в меню выбора платы есть оба варианта.
А это точно не та старая, уже всем известная проблема ячейки с нулевым адресом, данные которой иногда портились при включении питания?
И мне кажется что проблема ячейки с нулевым адресом, насколько я помню, была в памяти программ, а не в еепром
У моего устройства фактически единоразовая запись в еепром перед установкой — и потом только чтение из еепром…
Внешняя еепром 25C02S с этой-же программой в этих-же режимах использования работает без всяких сбоев и проблем годами…
Так вот, циклы запись-стирание начали гнать лажу где-то на 3 500 000 цикле. Три с половиной миллиона! На тестирование ушло несколько часов. Отчёт я поместил в Живом Журнале. Сейчас этот блог удалён. Остались лишь обрывки воспоминаний. Для себя я тогда отметил, что проблемы износа EEPROM для моих задач вообще не существует. Можно забить на это дело и жить спокойно. Разве что не использовать байт с нулевым адресом.
Микросхема была закуплена в Промэлектронике, однозначно не поддельная.
Нашел у себя в закромах старый PIC, типа 628 вроде. Индикатор, пищалка и пара кнопок. Проблема, что питание отрубается. Надо состояние сохранять. Ну, ок. Кондюк, развязка на диоде… Через раз срабатывает. Плюнул. Точность пофиг. Ну пусть раз в 5 минут пишет в флеш. Прошил, поставил на прогон. Через пару дней какие-то косяки полезли — то не читается при включении, то хрень читается…
Блин! Накосячил… Несколько раз в секунду запись шла :( За пару дней флеш убился.
Косяк нашел, пофиксил. Заодно запись в 3 ячейки сделал, мажор при чтении. Шестой год эта хрень работает, нареканий нет :)
https://forum.ixbt.com/post.cgi?id=print:48:1100
Я уже почти забыл, но мне кажется, даже ATMEL в ерратах отмечала, что не рекомендует использовать нулевую ячейку.
а вот у STM32F103C8T6 цена 2.0561$
при этом целая плата с МК и обвязкой на али от 1.4$
копии наверное
На аналоге точно нет второго скрытого банка памяти.
Купил в 'промке' оригиналы С8Т6 и СВТ (который официально 128к), сдул копии поставил эти — все работает так же.
Я не настоящий STMщик
Разве это минус? Для меня так жирный плюс, ибо прикручивать прекрасный STM32 к ардуине это какая то особая форма извращения.
Можно сделать так, чтобы например в IAR, с отладкой, но в Arduino стиле и с хотя-бы основными его библиотеками, чтобы я мог просто написать analogRead а не изучать как он там битики с АЦП забирает?
Это я про периферию.
В ардуино реально не хватает отладки, иногда не хватает памяти, особенно если в проекте есть строки, тогда можно поставить две ардуины, есть определенные сложности при математических вычислениях, но так это платформа не для этого.
Вот есть проект PlatformIO IDE, уже получилось помигать светодиодом, при этом код в main выглядит по-человечески
Возможно это то, что я ищу, но с analogRead пока проблемы :)
Наверно переволновался. Бывает.
А то я задолбался входить в стм — всё карнизы да пожарные лестницы (((
Тогда огласите полное собрание сочинений и количество страниц. :) Что б не пугать страждущих.
А с халокубом так вообще вполне можно обойтись даже ардуйностайлом — подсмотреть в примерах и копипастом. Потом, конечно, все равно придется изучать эти документы, да.
«для старта ну сотня страниц» — Но думаю неплохо было б что б документация была в двух версиях — сжатой — освещены главные, основные вещы и полной версии.
Но ссылку же просил :-(
Либа с примерами скажем libopencm32
На Arduino одна из самых популярных прошивок для 3D принтеров Marlin, автопилот для квадрокоптеров ArduPilot, и куча других проектов. Вряд ли, хотя бы один из тысячи осваивающих микроконтроллеры, напишет, что-то более сложное.
Собственно, чем в основном хорош STM, так это очень богатой периферией. Навяливая на него среду ардуино, мы всего этого лишаемся.
А так спокойно к Arduino IDE можно подключить и STM32, в том числе F4xx всякие многоногие. Да управление будет несколько упрощенным, не самым оптимальным образом использоваться ресурсы проца, но зачастую этого более чем достаточно.
Если вам хватает Arduino IDE, рад за вас.
Хотя конечно тяжело без нормальной отладки, особенно когда по неопытности пытаешься что-то типа многозадачности реализовать.
Мой опыт такой, Сам по себе, я старый железячник, не программер. Особо никогда не программировал МК, давным давно ПИКи щупал, даже запрограммировал на ассемблере и спаял дитю поделку в садик, продвинутый светофорчик на два направления, с несколькими режимами работы и огнями для пешеходного перехода (тогда, помню, модно было светофоры ваять на МК, а не погодные станции :) Короче, вошел я в это дело и вышел на несколько лет.
А тут, не очень давно, нужно было по работе соорудить специфический бутфорс набиратель, с некоторыми специфическими нюансами, глянул на СТМ, вроде как современно и прогрессивно, но не смог войти так сразу, решил использовать Атмел, т.к. Ардуино работает по ЮСБ, а мой древний ПИК программатор от Телесистем, оказывается уже не поддерживают новые Вин7\10.
За день освоил ИДЕ, еще пару дней по свободе сваял алгоритм и быстренько набыдлокодил, дрыгал по одному порту, слушал по двум другим, благо, там все в одном глобальном цикле, плюс библиотека для вывода на семисегментные ЛЕД индикаторы, и все заработало! Счастья то было.
Следующий проект за который я взялся был крут для новичка, но на удивление, я его осилил с помощью Ардуино. Там уже пришлось глубже копать, разбираться с прерываниями, засыпанием и типа многозадачности и прочим сопутствующим. Тут я уж месяца 2-3 ковырял в свободное время. Это был транслятор аналоговых сигналов в тойтовскую bean шину, я фактически запрограммировал автомобильный модуль комфорта. Это делалось для товарища, у него была приборка от старого лексуса, которая работает по шине и загорелось ему установить в свою Газель. Напряг он меня, сначала я ему сделал программируемый делитель для спидометра, а потом, я с дуру пообещал и транслятор закодить, надеясь прокачать свой скилл. При реализации пришлось решать кучу мелких проблем, но было интересно. В итоге заработало, хотя свой код мне стыдно показывать!
На СТМ32 смотрел, начинал читать, но не смог опять взять так просто и войти.
Может в следующий раз.
Потому как чип куда проще.
А STM в разы сложнее архитектурно, и зачастую понять что это не ты долб… б, а это errata очень и очень сложно.
качаете dfu-util и можете шить прям по USB без всяких приспособ.
DFU Boot можно активировать так же из вашей прошивки.
речь идёт об обновлении продакшена
Допустим, как было: заказчик что-то перехотел, мы сделали, отправили обновление, он обновил.
На этой серии контроллеров нам не надо заморачиваться с usb-dfu-boot, который отъедает рпзу, он уже встроен.
Из комментов о прошивке bootloader DFU mode
«а ведь 0xC000 это 48 кбайт. То есть, если я не ошибаюсь, вы отдали для загрузчика 49 кб из 64 кб (ведь именно столько доступно в stm32f103c8 на ГТ? Как то прискорбно вышло). А основной программе осталось 64-48 = 16 кб. .» И в чем огромный плюс? :)
«не надо заморачиваться с usb-dfu-boot,» — это да, плюс, но не такой большой по сравнении с минусом
«который отъедает рпзу, он уже встроен.» — тоесть в этом камне он неотьедает память, он в облаках витает. :)
в нём есть масочная ПЗУ, она есть и в 103, только там boot uart/spi/i2c
а в этом масочная ПЗУ больше — там есть и USB и много чего.
Нет, это был модифицированный maple-bootloader, занял чуть меньше, чем 8К
1) много жрёт (больше чем dfu)
2) под всеми почти осями (win, linux) тупит (другого не наблюдал)
3) для надёжного обновления надо внешнюю spi-флешку.
dfu-util есть под все оси, работает из батника без проблем.
Вдобавок к ней есть оптимизированная IDE под Eclipse. Я сам пишу проекты на ней уже лет с десять.
поддержка кучи самых разных плат на куче самых разных процов добавляется ну буквально за 10к кликом мышью
ну вот не кнопки «сделать хорошо»
так извините мы тут програмировать хотим или котиков смотреть, для программирования надо хоть что то сделать ручками
до кучи — ссылка github.com/stm32duino/Arduino_Core_STM32
там есть поддержка конкретно BlackPill F401CC
Только если писать для неё прогу на голом Си (arm-none-eabi-*) она свой потенциал раскроет не полностью. Ну да, будет быстрая. Ну да, памяти холь *пой ешь. Ну да, периферия по сравнению с AVR-ками будет значительно богаче и возможностей больше.
Но это будет тот же датчик температуры. Это будет те же часы. Ну, может быть звук сможете обрабатывать. Но это всё не интересно, так как всё тоже самое делалось на более слабых микроконтроллерах.
А вот то, что особо интересно и с чем было очень проблематично поиграться на мелких МК — так это операционные системы и режим многозадачности. Вот тут можно оценить силу камушка, относительно AVR и даже менее мощных STM32.
Ну, как бы у каждой вещи должно быть её предназначение. И если раньше приходилось натягивать сову на глобус (то есть на мелкие МК с малым количеством памяти устанавливать ОС), то в данном случае с STM32F4 использование ОС будет скорее естественным, чем натянутым.
Так что, щупайте этот направление и получайте удовольствие от содеянного. :)
Вроде и самоизоляция, а времени свободного всё меньше, т.к. приходится удаленно админить две организации, а девки в мое отсутствие расслабляются, ходят куда не надо, а потом «Ой, чета сломалось всё». Так бы поковырял чего-нибудь новенькое для саморазвития, но пугает, что нужно много чему учиться, ведь для этого нужно много времени.
Думать, решать проблемы, подкидывать разные задачки мозгу — это всё равно что водить свой мозг в фитнес-зал. Прокачивать мозги полезно во всех отношениях. Поэтому нужно обязательно это делать. Так что Вы всё правильно делаете.
Однако, следует отметить, что «думать» — это очень энергозатратный процесс. Я бы вам порекомендовал посмотреть видео С.В.Савельева про работу мозга. Их (видео) много на ютубе, не ошибётесь! Он немножко странный товарищ (да, мы, собственно, все без исключений со странностями.), но говорит очень правильные вещи.
«Врал», может быть и зря ему влупили, но от Савельева сильно несет социал-дарвинизмом.
А мне ближе диалектический материализм.
Еще прикольный самоучка Новоселов со своей книгой. Если опустить всю муть про первобытные времена (где автор явно перекурил), то можно нехило прокачаться и мног понять про взаимоотношения с Ж.
ИМХО. Что бы лучше понимать общество, в том числе взаимоотношениями с Ж, нужно читать классиков, где все основано на истинно научной системе, выводах от простого к сложному. Наука логики, Капитал, Диалектика природы и общества, Антидюринг, Происхождение семьи, частной собственности и государства, Лучший диалектик в Ютубе — Михаил Васильевич Попов. Но для понимания нужно опускаться в глубину, начинать с самого начала. Есть прекрасные лекции Попова в ЛГУ по социальной диалектике.
Но я ведь не про это ))
Для ПЛК наиболее часто используемые языки LD, FBD, SFC.
эти штуки задуманы для того чтобы легко перейти от релейноконтактных и блочных схем к программированию. на практике же это даётся с усилием и «пожилым» асуттпшникам и программистам.
что делает неудобным для подбора 48 для USB при разгоне
ну блин поствьте 24… тогда можно и разгонять и usb при этои рабочеее