Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74

Программирование Blue Pill с помощью CMSIS (начинающий)

26.06.2025, 23:11. Показов 2065. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хотелось бы самому научиться правильно работать с регистрами без использования готового кода в интернете или в книгах. Я получил из Али отладочную плату Blue Pill, но хотелось бы и для других отладочных плат с другими МК научиться правильно программировать с помощью CMSIS. В связи с этим после прочтения различных тем (Работа с Keil начинающего освоение программирования STM32 и других) у меня возникли следующие вопросы:
1. По какому документу можно определить, к какому пину подключен индикатор? Применительно к Blue Pill я скачал "RM0008" и "PM0056 Programming manual", но там я схемы не нашел.
2. По какому документу и как можно определить, какие регистры нужно использовать для решения той или иной задачи? Достаточно для этого Reference Manual для МК или нужны еще какие-то документы? Применительно к Blue Pill как определить, что нужно использовать именно эти регистры и именно эти команды в программе из Настройка IAR Embedded Workbench for ARM для работы с симулятором и blue pill
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stm32f10x.h"
 
void delay(int count) {
  for (volatile int i = 0; i < count; i++);
}
 
int main(void) {
  // Enable GPIOC clocking
  RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
 
  /// Configure PC13 as an output
  GPIOC->CRH &= ~GPIO_CRH_MODE13; // Reset Settings
  GPIOC->CRH |= GPIO_CRH_MODE13_0; // 10 MHz
  GPIOC->CRH &= ~GPIO_CRH_CNF13; // Output
 
  while (1) {
      GPIOC->ODR ^= (1 << 13); // Invert the state
      delay(100000); // Delay
  }
}
3. Какой набор документов необходим для программирования любой отладочной платы с STM32 с помощью CMSIS?
4. В теме Настройка QTCreator для программирования STM32 так и не ответили, почему не удалось создать комплект для QTCreator в Windows. Я тоже хотел бы использовать свободные инструменты, но, как я понял, процесс установки у автора темы завершился ошибкой и он так и не смог создать комплект для программирования STM32 в QTCreator.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.06.2025, 23:11
Ответы с готовыми решениями:

[STM32F103C8T6, он-же Blue Pill] - SPI1, CMSIS - пример
Доброго времени суток, уважаемые участники форума! Подскажите пожалуйста, есть ли где готовый...

Отладка платы STM32F103C8T6 (Blue Pill) через st-link/v2
Здравствуйте! Подскажите как отлаживать STM32F103C8T6 используя оригинальный программатор...

Запустить экран на ILI9341 с платой Blue Pill
Всем здравствуйте и с наступающим. Приобрел дисплей на Али, пробовал его запустить разными...

9
Эксперт .NET
 Аватар для Rius
13019 / 7585 / 1660
Регистрация: 25.05.2015
Сообщений: 23,051
Записей в блоге: 14
26.06.2025, 23:57
1. По схеме.
Если нет - прозвонить мультиметром.

2. Reference manual и datasheet. Бывает, ещё полезно application notes.
Также можно сгенерить программу в Cube на HAL или LL, найти задействованные регистры и изучить их в RM.
Потом переписать напрямую на регистрах.

4. Vscode вполне себе свободный. Eclipse + CDT - тоже.
0
Эксперт по электронике
6494 / 3124 / 331
Регистрация: 28.10.2011
Сообщений: 12,289
Записей в блоге: 7
27.06.2025, 01:46
Цитата Сообщение от Starostin Посмотреть сообщение
По какому документу можно определить, к какому пину подключен индикатор?
К какому подключите там и будет. Можете на схему посмотреть, например эту и найти там индикатор. По аналогии смотрите на вашу схему и ищите.
Цитата Сообщение от Starostin Посмотреть сообщение
Применительно к Blue Pill я скачал "RM0008" и "PM0056 Programming manual", но там я схемы не нашел.
Вы хотели в документе на МК найти схему "синей таблетки"?
Думаете эти "таблеки" в STMicroelectronics производят?
Цитата Сообщение от Starostin Посмотреть сообщение
По какому документу и как можно определить, какие регистры нужно использовать для решения той или иной задачи?
У вас немного странные вопросы. Вы уверены что вам стоит начинать изучать МК?
Думаете как решить задачу, думаете какая периферия для этого потребуется. Ищите в RM нужную периферию и смотрите какие у нее регистры.
Цитата Сообщение от Starostin Посмотреть сообщение
Какой набор документов необходим для программирования любой отладочной платы с STM32 с помощью CMSIS?
Рано вам переходить от теории к практике. Мартина для начала прочитайте, а потом выучите наизусть.
Цитата Сообщение от Starostin Посмотреть сообщение
не смог создать комплект для программирования STM32 в QTCreator.
Нужен вам этот QTCreator? Без него полно инструментов.
2
649 / 402 / 76
Регистрация: 21.09.2008
Сообщений: 1,385
27.06.2025, 08:23
Starostin, посмотрите здесь. Возможно, это то, что ищите.
0
Windows must die
828 / 834 / 102
Регистрация: 23.11.2021
Сообщений: 4,843
Записей в блоге: 15
27.06.2025, 09:27
Цитата Сообщение от Starostin Посмотреть сообщение
Применительно к Blue Pill
нужно качать схему самой "пилюли". Но, судя по моему старому коду, светодиод там на PC13.
Цитата Сообщение от Starostin Посмотреть сообщение
По какому документу и как можно определить, какие регистры нужно использовать для решения той или иной задачи?
Да, для этого достаточно RM, однако, неплохо почитать и appnotes. Ну и даташит подскажет, как по ногам функционал раскинут (а еще, ЕМНИП, именно у F103 то ли альтернативные функции, то ли DMA расписаны не в мануале, а именно в даташите).
Цитата Сообщение от Starostin Посмотреть сообщение
Какой набор документов необходим для программирования любой отладочной платы с STM32 с помощью CMSIS?
Схема платы + мануал + даташит на конкретный камень. Ну и про errata не стоит забывать, т.к F103 - просто полная "шляпа"! И аппноуты рекомендуется полистать.
Цитата Сообщение от Starostin Посмотреть сообщение
почему не удалось создать комплект для QTCreator в Windows
Да кто ж его знает, почему? Я тоже пользуюсь Qt-creator, но использую его лишь как продвинутый редактор. А все манипуляции в нормальном терминале провожу, так удобней.
0
60 / 185 / 31
Регистрация: 14.02.2013
Сообщений: 1,669
27.06.2025, 11:21
Starostin, какая каша в голове. Как вы думаете, а можно ли стать программистом микроконтроллеров без знания принципов схемотехники и цифровой электроники? Просто интересно ваше мнение как начинающего.
0
0 / 1 / 0
Регистрация: 16.09.2022
Сообщений: 74
27.06.2025, 21:21  [ТС]
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Да, для этого достаточно RM, однако, неплохо почитать и appnotes
Вопрос был вызван просмотром видео "Урок 2- Мигание светодиодом с CMSIS.mp4". В этом уроке в Reference Manual по RCC register map автор видео определил нужный регистр и нужные действия с ним. Но автор это не объяснил и сразу перешел к коду.
Вот я и хотел узнать, как после постановки задачи по Reference Manual это сделать. В этом же уроке автор демонстрирует схему отладочной платы, на которой указано подключение индикатора
Цитата Сообщение от VladimirU Посмотреть сообщение
Как вы думаете, а можно ли стать программистом микроконтроллеров без знания принципов схемотехники и цифровой электроники?
Эти принципы мне лично интереснее осваивать на конкретных устройствах и конкретных задачах, а не просто читая книги. А каша в голове - она потихоньку уйдет. Просто очень сложная тема, очень много инструментов и подходов к программированию МК, да и объем информации по программированию STM32 огромный, разобраться в ней непросто. Причем выбор IDE, инструментов программирования и технологий программирования (HAL, CMSIS, наверное и другие, которые я не знаю) является, на мой взгляд, непростой задачей. .

Добавлено через 5 минут
Цитата Сообщение от sharpey Посмотреть сообщение
Starostin, посмотрите здесь. Возможно, это то, что ищите.
Спасибо, обязательно посмотрю.
0
60 / 185 / 31
Регистрация: 14.02.2013
Сообщений: 1,669
27.06.2025, 23:56
Цитата Сообщение от Starostin Посмотреть сообщение
А каша в голове - она потихоньку уйдет.
Веткой ошиблись.
0
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 883
28.06.2025, 23:08
Цитата Сообщение от Starostin Посмотреть сообщение
Просто очень сложная тема, очень много инструментов и подходов к программированию МК, да и объем информации по программированию STM32 огромный, разобраться в ней непросто
Я с Вами согласен, начинающему непросто сделать выбор, я как начинающий с этим столкнулся. Я выбрал программирование с использование HAL
Цитата Сообщение от sharpey Посмотреть сообщение
Starostin, посмотрите здесь. Возможно, это то, что ищите.
Автор этого учебного курса описывает разные подходы, но для программирования периферии, как я понял, предпочитает HAL. Надеюсь, что эту библиотеку STM будет и дальше поддерживать и не бросит, как SPL.
Цитата Сообщение от Starostin Посмотреть сообщение
А каша в голове - она потихоньку уйдет
Конечно, каша из отрывочных сведений и разных мнений о программировании STM32 исчезнет при постоянных Ваших усилиях в освоении программирования, появятся прочные знания и уверенность. Успехов!
0
 Аватар для COKPOWEHEU
4078 / 2676 / 432
Регистрация: 09.09.2017
Сообщений: 11,885
29.06.2025, 21:07
Цитата Сообщение от Starostin Посмотреть сообщение
Вот я и хотел узнать, как после постановки задачи по Reference Manual это сделать.
Прочитать Reference Manual. Все регистры и все биты там описаны. Когда появится опыт, тоже сможете с первого взгляда угадывать нужные биты. А пока - только читать.
Цитата Сообщение от Starostin Посмотреть сообщение
Вопрос был вызван просмотром видео "Урок 2- Мигание светодиодом с CMSIS.mp4".
Нет, не смотреть мультики, а читать. Мультики только для общего представления.
Цитата Сообщение от Starostin Посмотреть сообщение
А каша в голове - она потихоньку уйдет.
Только если вы будете ее сами разгребать. А то ведь может загустеть в непробиваемый комок.
Практика показывает, что с верхнего уровня (Ардуино, ST-Cube и все в таком роде) спуститься на низкий сложнее, чем подняться наверх.
Ну а что, работает же. Ну пришлось налепить покупных модулей и склеить их термосоплями. Ну пришлось накачать стороннего говнокода, который едва влезает во флеш. Ну требует ручек для переноски. Ну тормозит и глючит. Но в остальном работает же.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.06.2025, 21:07
Помогаю со студенческими работами здесь

STM32 Blue Pill, не могу заставить таймер заткнуться, пока нажата кнопка
Здравствуйте, уважаемые форумчане! Помогите пожалуйста разобраться с проблемой, не пойму, что не...

Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
Всем доброго времени суток, хотел поделиться своим проектом 3-x портового USB-Serial адаптера...

Настройка IAR Embedded Workbench for ARM для работы с симулятором и blue pill
Здравствуйте! Установил триальную версию IAR Embedded Workbench for ARM. Создал проект с файлом...

BLUE PILL не могу запустить в ПРОТЕУСЕ
Пытаюсь освоить STM32, в частности Blue Pill. Привык сначала что либо делать в Протеусе. Скачал...

[noob mode] Выкидывать ли эту испорченную Black pill?
Здравствуйте попробовал ардуино, прочитал пару книг. Все понятно. Но без отладки неудобно....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru