Предположил. Но не уверен.
С ассемблерной вставкой “nop” не должен, вроде бы. В крайнем случае в теле цикла можно инкрементировать переменную.
Предположил. Но не уверен.
С ассемблерной вставкой “nop” не должен, вроде бы. В крайнем случае в теле цикла можно инкрементировать переменную.
#define DWT_CONTROL *(volatile unsigned long *)0xE0001000
#define SCB_DEMCR *(volatile unsigned long *)0xE000EDFC
void DWT_Init(void)
{
SCB_DEMCR |= CoreDebug_DEMCR_TRCENA_Msk; // разрешаем использовать счётчик
DWT_CONTROL |= DWT_CTRL_CYCCNTENA_Msk; // запускаем счётчик
}
void delay_micros(uint32_t us)
{
uint32_t us_count_tic = us * (SystemCoreClock / 1000000); // получаем кол-во тактов за 1 мкс и умножаем на наше значение
DWT->CYCCNT = 0U; // обнуляем счётчик
while(DWT->CYCCNT < us_count_tic);
}
Помогите пожалуйста разобраться. Даже не так - !!! ПМАМАГИТИ !!!
Дернул же черт связаться с стм. Хотя увлекательно. Поэтому решил не бросать.
Пока идут платы решил установить STM32CubeIDE (v2.0.0) и STM32CubeMX (1.16.1)
Все установилось, по отдельности запускается, все хорошо. Но вот прочитал такое - что если создавать проект в IDE то в корне проекта создается файл с расширением .ioc и автоматом подгружается STM32CubeMX для конфигурации чипа.
Создаю, выбираю чип проект создается но .ioc файл не генерится и STM32CubeMX не открывается.
Почитал инет. Можно ставить STM32CubeMX двумя способами. 1 это как отдельное приложение и 2 это из STM32CubeIDE
Ставил по разному, не вызывается и все.
Еще почитал инет, нашел 2 решения проблемы. 1 это
Пробовал не помогает.
и 2 это, ну типа в STM32CubeIDE (v2.0.0) нет плагина STM32CubeMX поэтому создавай его вручную в STM32CubeMX и не парь мозги.
Но если смотреть на скрин выше то плагин STM32CubeMX в STM32CubeIDE у меня установлен, правда не 1.16 а 1.15, но это уж какой ставит система, я там выбрать не могу. Но не смотря на это не работает.
Не вопрос, могу конфигурировать и отдельно в STM32CubeMX, но тут другой вопрос, если я сконфигурировал чип в STM32CubeMX и потом пишу программу в STM32CubeIDE и мне надо что нить доконфигурировать, можно это сделать с STM32CubeMX? не попортит он уже написанный код?
Прошу совета как лучше начать работать в этих STM32Cubе?
Вот они, 100 рублей экономии ![]()
Но раз интересно, то всё получится. Я как-то сунулся, несколько лет назад - “ну нафиг”
![]()
Да даже не экономии а затрат, и не 100р. Программатор купи, платы купи…
Но уж очень понравилась настройка чипа в STM32CubeMX. Надо разобраться.
Вот как научусь мигать светодиодом! Ой держитесь тогда!
короче, с версии 2.0 внутреннюю интеграцию отменили.
стираешь все к черту)
ставишь последний STM32CubeMX и уже потом последний STM32CubeIDE.
нет
юзеер свой код пишет в блоках
/* USER CODE BEGIN ...*/
/* USER CODE END ...*/
он их не трогает.
более подробно тока вечером могу…
Отлично, так и сделаю.
Отличная новость, благодарю. Хотел сам уже проверять, но там столько этих блоков, надо какие нить видосики от STM посмотреть с быстрым стартом. Чтоб структуру понять.
Ну рад что в этом случае лыжи не едут интеграцию отменили
а не ….
Ардуино ИДЕ почему бы не заюзать для простого проекта? оно вроде с СТМ32 вполне.
…посмотрел у себя: есть проектик, плата:
Generic STM32F1 → BluePill F103C8
Там енкодер, шаговик, пара моторчиков с оптическими концевиками, всё ровно работает.
Не понял, что такое “интеграция” , ну и ##й с ним. Если имеется ввиду то, что MX не “соединяется” с IDE - не правда.
Внимательно в MX “правим” камень, желательно чтобы слева по возможности были ЗЕЛЁНЫЕ галочки, желтые допустимы, красных лучше избегать.
В меню Help → Updates ставите галочки напротив нужного софта и нажимаете Install. Там можно ставить несколько версий минор-мажор и в меню CodeGenerator выбирать нужную. Выбираем в генераторе нужную нам IDE и генерим код. Если предупреждений не было - уже хорошо.
В папке workspace генерируется папка с названием проэкта и папка CubeIDE , там два проэкта на С и С++. Все inc и src создаются автоматически.
Далее MX спросит, открыть проэкт в IDE или нет, нажимаем YES. Собираем проэкт и если нет ошибок - уже хорошо.
Свой код пишем ТОЛЬКО в блоках BEGIN - END, там в комментариях всё есть. Но это нужно если вы там чОтО “мутить” собрались или использовать нестандартные подходы к инициализации камня! В стандартном виде для ВСЕХ камней генерится StartUp код, который содержит блоки инициализации стэка, копирования из PROGMEM в RAM, заполнения нулями кучи и стэка. Далее инициализация тактирования, периферии и пинов. Всё, переход в Main. Если не хотите “гемора” , желательно, но не обязательно “заинклюдить” позже уже свои с и h файлы чтобы MX случайно не затер вашу “писанину” Если нужно что-то добавить или изменить в MX - просто к готовому коду добавляете свой include и не паритесь. Это придумал не я, так делают на гите практически все.
В общем и целом всё это работает без глюков. Инструкция для дебиана, но на винде будет (наверное) так-же)))
От это нихрена себе! ![]()
Всё что было удобно - делают не удобно? Нахуа?
ЗЫ: А я 1.Х пользуюсь. Работает и ладно. Чего обновляться за зря?!.. )))
а мне удобнее как сейчас, когда в проекте тыкаешь по ioc и просто зовется CubeMX как приложение, а не в новой вкладке проекта как OLE какое то, глючил интерфейс да и места в окошке маловато было, вечно щуришься))
да, еще IDE задалбливало с предложением пересобрать проект.
В общем посидел потыкал. Пока чипа нет, вроде всё понятно. Придёт только в январе. Буду пробовать программировать, там видимо дополнительные проблемы всплывут.
На озоне два дня! блю черный синий красный орагжевый. Или мошт ты на северном полюсе в палатке?
На южном ![]()
А ты плату где заказывал? Надо от WeAct брать, на ней чипы оригинальные стоят и отладка работает в кубе.
От них и взял.
Веакт есть на озоне, сегодня Н5 приехол с кортекс-33 … Не знаю, чо с ним делать. ДВА дня, регион, 700 ки от мск…
Да, на озон есть.
Например, вот блюпилл: https://www.ozon.ru/product/stm32f103c8t6-stm32-bluepill-plus-sinyaya-tabletka-stm32-originalnaya-1583836856/
Ну вот пришли все STM, и подешевле и подороже.
Взял такой наборчик - https://aliexpress.ru/item/1005007309682909.html?spm=a2g2w.orderdetail.0.0.213e4aa6lkLCBO&sku_id=12000043387078426 работает. И еще пару STM32F103C8T6 в этом же магазине.
Так же взял https://aliexpress.ru/item/1005005303809188.html и платы STM32G030 и STM32G031.
Светодиодом помигал, TM1637 подключил, работает. В общем STM понравились, буду ваять контроллер насоса как и хотел.