|
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886
|
|
Работа с Keil начинающего освоение программирования STM3208.06.2025, 21:24. Показов 10934. Ответов 164
Метки нет (Все метки)
Здравствуйте!
Пытаюсь освоить программирование STM32 по книге "Освоение STM32 самостоятельно". У меня установлена версия uVision 5.38.0.0. В книге на рис. 52 и 53 показано окно с заголовком "Contex M Target Driver Setup". Подскажите, пожалуйста, через какие пункты меню Keil можно вызвать это окно. Прикрепил скриншот проекта и интерфейса Keil
0
|
|
| 08.06.2025, 21:24 | |
|
Ответы с готовыми решениями:
164
Книги "Освоение STM32 самостоятельно. Практическое руководство" без #, c #1 и #2 в названии Сравнить программные продукты Keil uVision 5.11.2.0 и Keil ARM 5.29.0.0 STM32 + KEIL. Найти смещение функции в прошивке |
|
50 / 48 / 2
Регистрация: 23.01.2019
Сообщений: 377
|
|
| 18.06.2025, 12:34 | |
|
Не вот чтобы учусь. Скорее пока "только посмотреть"
0
|
|
|
|
|
| 18.06.2025, 22:46 | |
|
Провода, ст-линки, софт, книги.... фить, ерунда какая. То ли еще будет..
Есть проблемы поинтереснее: 4 устройства: A, B, C, D, где A,B - это приложения на ПК, а C,D - реальные устройства (железки), причем устройство D - это STM32F4x. Задача: обмен данными между всеми ими по некоторому протоколу.Что происходит: программа А успешно обменивается с приложением В. Так же, А успешно обменивается с реальным устройством С. Приложение В, в свою очередь, так же общается с С и D. Но(!) приложение А не может общаться с D (прием неверных данных на D).Каламбур: объекты A-B-C спокойно разговаривают между собой. B-C прекрасно беседуют с D. A и D не дружат!Вот те раз..
0
|
|
|
Windows must die
|
||
| 18.06.2025, 23:08 | ||
|
// а вот вантузоиды мучаются, да…
0
|
||
|
|
|
| 18.06.2025, 23:11 | |
|
Казалось бы, какое это имеет отношение к вопросу? А, просто вы... пендриться.
Добавлено через 1 минуту wizard41, снифффером смотрите, в логах. Если одно не работает, а другое работает, то разница должна быть видна на том или ином уровне.
0
|
|
|
|
||
| 18.06.2025, 23:16 | ||
|
Rius, поздно выяснилось. Действительно, завтра сяду анализатором на D, посмотреть посылки.. На всякий случай.
Добавлено через 2 минуты
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||
| 18.06.2025, 23:26 | |||
|
создавайте под свой вопрос свою тему
0
|
|||
|
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886
|
|||||||||||
| 19.06.2025, 18:02 [ТС] | |||||||||||
|
Программа из книги скомпилировалась, прошилась, заработала:
1. Заголовочный файл в кавычках вроде бы должен быть в директории с исходным кодом. Но у меня этого файла в директории проекта нет. Как Keil узнает, где он находится, и почему этот файл в кавычках? 2. В большинстве ресурсов по программированию АЦП используется STMCubeMX. Я хотел бы просто использовать HAL для STM32F103. Попробовал вставить в проект основной заголовочный файл
0
|
|||||||||||
|
|
|||
| 19.06.2025, 18:07 | |||
<> в каталогах компилятора, в "" не у компилятора, а у вас. Условно.Во, include paths:
0
|
|||
|
|
||
| 19.06.2025, 18:16 | ||
|
tumanovalex, "stm32f1xx_hal.h" находится в папке Driver/CMSIS, которые лежат в папке проекта. Поэтому имя файла взято в кавычки.
Но для этого в настройках данного проекта должны быть включены пути поиска:
0
|
||
|
Windows must die
|
||||||||
| 20.06.2025, 09:21 | ||||||||
volatile? Каждая из этих строчек фактически будет выполняться: компилятор не сможет эту жесть оптимизировать на один вызов!Ну и непонятно, зачем "обнулять" то, что и так равно нулю. Можно ведь сразу было написать:
0
|
||||||||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,069
|
||||||||||||
| 20.06.2025, 09:52 | ||||||||||||
|
Да и вообще, какой смысл писать целую функцию для инициализации одного-единственного PC13? Проще сразу в RCC->APBxENR разрешить тактирование всех портов, AFIO и, возможно, еще чего-то нужного. Все равно ж рано или поздно задействуете. Собственно, для макетных целей туда, насколько я слышал, можно вообще 0xFFFF записать - разрешить вообще все. Это ж макетка, а не батарейное устройство, миллиамперы можно не экономить.
-I. В IDE эти флаги наверняка берутся из каких-нибудь настроек. Собственно флаг -I говорит "А еще .h файлы могут лежать вот там"Другое дело, что в коде ТС я вижу реализацию функции SetSysClockTo72(), но не вижу ее вызова.
0
|
||||||||||||
|
|
|
| 20.06.2025, 10:29 | |
|
Cube - средство быстрого прототипирования, но тупым красноглазикам этого не дано понять.
Прамая запись чисел в регистр тем плоха, что конкрентный результат без даташита не ясен. Макросы лучше тем, что видны названия значений, но всё равно плохи тем, что позволяют писать чушь, типа битов АЦП в регистр UART, компилятор это никак не контролирует. Каждый кулик хвалит своё болото.
0
|
|
|
Windows must die
|
||
| 20.06.2025, 11:00 | ||
|
0
|
||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,069
|
||||||||||||||
| 20.06.2025, 11:24 | ||||||||||||||
int some_var = 123; в этом смысле ничуть не лучше записи GPIOC-> CRH |= GPIO_CRH_MODE13_1;. Они обе - запись какого-то непонятного числа. Почему выбрано именно такое число, без внешней документации непонятно.
0
|
||||||||||||||
|
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886
|
|
| 20.06.2025, 12:17 [ТС] | |
|
Приведенный код я брал из книги "Освоение STM32 самостоятельно", просто нужно было с чего-то начать. На нем я потренировался компилировать и загружать прошивку в устройство, поскольку делал это первый раз в жизни. А попросили меня друзья сделать АЦП на STM32, которое должно получать аналоговый сигнал, сравнивать с минимальным и максимальным значением и устанавливать 0 или 1 на определенных контактах в зависимости от результатов сравнения. Как я понимаю, мне нужно запрограммировать АЦП в режиме Analog Watchdog. Но для того, чтобы сделать программу, мне еще нужно очень много понять и многому научиться. Надеюсь на вашу помощь.
0
|
|
| 20.06.2025, 12:17 | |
|
C++ в Keil + STM32 CMSIS STM32 проект в Keil - это просто Stm32 и Keil STM32 и Keil v5 (5.14) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|