|
95 / 15 / 3
Регистрация: 09.07.2009
Сообщений: 886
|
|
Работа с Keil начинающего освоение программирования STM3208.06.2025, 21:24. Показов 11157. Ответов 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. Найти смещение функции в прошивке |
|
51 / 49 / 2
Регистрация: 23.01.2019
Сообщений: 380
|
|
| 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,876
|
|||
| 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
|
||||||||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,083
|
||||||||||||
| 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
|
||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,083
|
||||||||||||||
| 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) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|