не порождает write-only конструкции, хоть вы мне еще десять раз подряд опишите, каково назначение volatile. И минусуете вы не разобравшись тоже неизвестно с какого перепугу.
Если в последнем аргументе f_mount выставить 0(отложенное монтирование), то функция конечно выполнится, но следующая выкинет в тот же HardFault_Handler. Пример стандартный. Периферию настраивал куб. Все компилируется нормально. В чем может быть проблема? Схема подключения во вложении. Ноги соответствуют мк конфигурации CUBE. Внешний кварц на 8 МГЦ даст 30МГц на шину APB1. Контроллер STM32f207
Странно, что куб выставил hsd.Init.BusWide = SDIO_BUS_WIDE_1B для 4 битной шины, но и с hsd.Init.BusWide = SDIO_BUS_WIDE_4B так же вылетает ошибка
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Армы наворотили вот таких макросов, только непонятно, с какой целью?
да просто в целях самодокументирования кода, чтобы из объявления переменной сразу было видно, какое оно, без лазания в даташит. Можно бы было сделать и типа вот так, я такое видел - с пустыми макросами
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Вт авг 07, 2018 08:26:09
Встал на лапы
Зарегистрирован: Вс мар 01, 2009 20:41:19 Сообщений: 125
Рейтинг сообщения:0
Здравствуйте, может кто знает при использовании HAL_FLASHEx_Erase при попытки стереть страницу FLASH_WaitForLastOperation впадает в бесконечный цикл, пробовал
Обычно запуск процесса отладки кода включает в себя прошивку памяти, сброс, пуск программы. Таким образом программа всегда начинается с Startup или функции main. Бывают моменты когда желательно подключиться к странно работающему устройству и посмотреть что там не так. То есть присоединиться без сброса программы. Недавно слышал что IAR такое позволяет. Я работаю в Keil 4.74(можно и 5 версию). Пробовал разные настройки ST-link, но что-то не получилось. Есть ли решение?
Я не работаю в Keil, но с ходу вижу два места где это можно сделать. 1. На вкладке Debug есть галка загружать образ. 2. В настройках ST-Link на вкладке Flash Download есть всё что касается прошивки.
Есть такое дело. На картинке авр-проект, но уверяю Вас - с STM тоже самое, дома через ST-link пользую. Есть нюанс, что при таком подключении деактивируются все установленные брекпоинты - нужно стать на паузу и проставить их заново, ну или просто поставить в случае стмки.
Добавлено after 8 minutes 1 second: Кстати, не думал что для этого что-то надо настраивать - всегда работало сразу из коробки.
Вот с такими настройками Keil подключается и шагает только по дизасм коду. Breakpoints не работает. Если ставлю галочку Load Application at Startup, то отладка по коду СИ тоже работает, но происходит сброс и программа начинается с Startup.
я внимательно прочитал, и совершенно точно понял суть вопроса, только ответа у меня на него нет. Автор написал что "слышал" что такое есть, ну я подтвердил эту информацию.
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Ср авг 15, 2018 07:46:26
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Задавал этот вопрос в другой ветке, но там пару дней никто не отвечает. Продублирую тут.
Вопрос по таймеру TIM1 на STM32F407 В даташите (REF. MAN) говорится, что в режиме One Pulse таймер по триггеру запускается и останавливается как только произойдет событие Update. Там же (в даташите) говорится, что если в Repetition Counter задать значение больше нуля, то событие Update сгенерируется только после того, как таймер "прокрутится" N-ное количество раз. Означает ли это, что если я настрою таймер в One Pulse режим, задам в Repetition Counter к примеру, значение '1', то таймер "прокрутится" два раза и остановится? (выдав мне два импульса, если я еще буду использовать PWM или Output Compare для вывода этих импульсов за пределы кристалла) Задача состоит в том, чтобы таймер выдал два-три (или более) одинаковых по длине импульса и остановился, при этом дернув DMA для обновления данных в compare регистрах (как их обновить за один пинок DMA - я знаю) При этом, запуск должен быть по внешнему импульсу, только по фронту, а спад должен игнорироваться, так как он может произойти в любой момент.
Просто свободная плата с STM32F407 у меня будет только в понедельник следующей недели (может и раньше, но это не точно) проверил бы сам, однако я делаю схему и печатку и из-за этого момента у меня останавливаются работы со схемой, пока я не выясню этот момент с таймером. От него зависит схема, причем существенно.
_________________ I am DX168B and this is my favourite forum on internet!
Обычно запуск процесса отладки кода включает в себя прошивку памяти, сброс, пуск программы. Таким образом программа всегда начинается с Startup или функции main. Бывают моменты когда желательно подключиться к странно работающему устройству и посмотреть что там не так. То есть присоединиться без сброса программы.
Теоретически, это может и для ст-линка сработать. В документации на ст-линк описывается режим HOTPLUG, который позволяет подключиться к цели на ходу, без сброса оной.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения