|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
||||||||||||||||||||||||||
Структура GPIO_TypeDef для регистров. STM3225.04.2022, 08:48. Показов 8061. Ответов 78
Метки нет (Все метки)
Застрял на регистрах stm32.
Может кто нибудь подскажет? Вопрос не в самих регистрах, а в языке Си. Немного об устройстве регистров как я это вижу: В файле stm32f10x.h находится структура:
Затем делаются указатели для каждого порта и регистров. #define GPIOA ((GPIO_TypeDef*)0x48000); Я думаю затем заполняется где то вся эта структура GPIO_TypeDef, но где я не нашёл. Затем идёт настройка регистров
В принципе то что выше можно не учитывать, я пример упрощу. У меня не получается заполнить структуру по указателю. Visual Studio выдаёт ошибку. МК у меня ещё нет, тренируюсь на обычных IDE. Этот способ является правильным для заполнения структуры?
Так не получается
0
|
||||||||||||||||||||||||||
| 25.04.2022, 08:48 | |
|
Ответы с готовыми решениями:
78
Структура регистров накоплений GPIO_TypeDef has no member named BSR Вывести состояние сегментных регистров и регистров флагов (ассемблерная вставка) |
|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
||
| 02.05.2022, 15:18 [ТС] | ||
|
https://www.youtube.com/watch?v=olRLcz4QeY4 Здесь начиная от 16 ти бит слово https://istarik.ru/blog/stm32/130.html У разных МК можно записывать разную длину «слова», например у F103 можно записать «слова» размером 16, 32 и 64 бита. --------------- То есть Адрес==Байт даже нет в описании. А для записи 8 битного значения магия какая то нужна. data16 = ((uint16_t)data[index1] << 8) | data[index0]; index0 = index0 + 2; index1 = index1 + 2; И почему то на 2 индекс увеличивать надо, хотя uint8_t это однобайтный массив. Сравниваем нулевой и первый элементы массива и записываем это по сдвигу влево на 8 бит. Это конвертация ANSI в 16битное значение что ли? ------------ Чтоб записать 8-ми битное значение (не смотря на то, что производитель не предоставил такой возможности), надо просто записывать по два байта в одно 16-ти битное «слово» со сдвигом. Всё происходит почти так же как и с 16-ти битным числом… Добавлено через 17 минут 8 битное число в 16 битном располагается через один Байт, это да, но в самом 8 битном массиве байты подряд идут. Ок, если восьмибитное число сдвинуть на 8 влево, то получим 0. Так и написали бы там 0, зачем городить. И через 2 индекса зачем прыгать data[index0] в однобайтном массиве.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 02.05.2022, 15:28 | ||
|
getstm32, для новых вопросов создавайте новую тему
0
|
||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
|||||
| 02.05.2022, 16:27 | |||||
|
1
|
|||||
|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
|
| 02.05.2022, 18:28 [ТС] | |
|
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||||||
| 02.05.2022, 19:35 | |||||||
0
|
|||||||
|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
|||||||||||
| 02.05.2022, 20:04 [ТС] | |||||||||||
|
Здесь будут равны
Но думаю это никак не связано о чём я говорю. Это тонкости языка. А я имею в виду адрессацию. В компьютере адрессация побайтовая. Слово==1 Байт. А в МК я уже не знаю что думать. Не знаю как в МК заменить функцию printf, тогда сам бы попытался выяснить. discovery плата пришла сегодня, кажется работает, светодиоды моргают.
0
|
|||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 02.05.2022, 20:26 | |||
|
но по моему тебе это пока рано, есть такая фишка sprintf пишешь в буфер а потом буфер предаешь по тому же USART но если пытаешься влезть внутрь МК используй отладчик
1
|
|||
|
|
|||
| 02.05.2022, 20:56 | |||
|
Какой размер адресного пространства STM32? Не нужно путать разрядность проца с разрядностью переменных. В 8-ми битных AVR тоже поддерживаются 32-ух битные переменные, но это не значит что проц их поддерживает.
0
|
|||
|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
|||||||||
| 02.05.2022, 21:24 [ТС] | |||||||||
|
На компьютере это
Если в МК 4 Байтная адрессация, то это будет одинаковый адрес, я так думаю. От 0х4000 0000 до 0хA000 0000
0
|
|||||||||
|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
|||
| 02.05.2022, 22:25 [ТС] | |||
|
4 Байта. Понятно. Поэтому и называется stm32
Добавлено через 12 минут Я не знаю где найти hex код для МК, который бы показывал однобайтную адрессацию. STM32CubeProgrammer например показывает 16 битную адрессацию. Нет доказательств. Есть нормальный hex редактор в какой нибудь ide? Такой как в Visual Studio Или придётся на Visual Studio переходить
0
|
|||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
|||||||
| 02.05.2022, 22:41 | |||||||
arm-none-eabi-objdump main.out -D -S > main.lssЕсли вы собирали с ключами отладки (-g), то даже метки и Си-шные функции сохранятся.
1
|
|||||||
|
|
||||||
| 02.05.2022, 22:45 | ||||||
|
0
|
||||||
|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
|
| 02.05.2022, 22:48 [ТС] | |
|
0
|
|
|
4 / 4 / 1
Регистрация: 24.04.2022
Сообщений: 79
|
|||
| 02.05.2022, 23:58 [ТС] | |||
|
Кстати да. Поэтому я и писал выше что может в IDE однобайтная адрессация, а в МК 4 х Байтная. 1 адрес==4 Байта. Но STM32CubeProgrammer почему то не по тем адресам записывает, которые я указываю. Я хочу сохранить адрес по нужному мне адресу, но не получается. Чем эти проверки делать с миганием диодов и проверкой адресов, которых не видно.
0
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 03.05.2022, 06:23 | |
|
0
|
|
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,084
|
||||||
| 03.05.2022, 06:23 | ||||||
|
А в МК адресация определяется железом и как была байтовой, так и останется. Насколько я помню, сам по себе Си такого не позволяет. Либо пытаться через ассемблерные вставки, либо через секции линковщика.
0
|
||||||
| 03.05.2022, 06:23 | |
|
Сложить содержание регистров R1 и R4 текущего банка регистров и отразить результат на статическом индикаторе Вывод на экран двоичного содержимого двух регистров (ввести значения этих регистров требуется с клавиатуры) Структура таблицы для ввода номенклатуры в БД Аксесс 2003+ структура изделия Конфигурация регистров для использования внешнего clock для таймера
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты 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
хоп хоп хоп хидахоп, а я кладую))
|