|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
|||||||||||
Зажечь светодиод используя bit banding18.03.2022, 16:44. Показов 4964. Ответов 58
Метки нет (Все метки)
Всем привет, хочу обратиться за помощью. Изучаю Assembler на МК STM32F100RBT6 и пытаюсь зажечь светодиод используя bit banding. Вроде адреса рассчитал правильно, возможно в регистры что-то не так записал. Хочу зажечь светодиод подключенный к порту PA0. Подключение такое: порт PA1->резистор 100 оМ->светодиод->GND.
0
|
|||||||||||
| 18.03.2022, 16:44 | |
|
Ответы с готовыми решениями:
58
STM32L15x + DMA + Bit Banding Atmel Studio, Proteus, atm16. Зажечь светодиод, используя Virtual Terminal Программирование управления портами К1986ВЕ92 с использованием Bit Banding в Keil |
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
|||||||||||||||
| 23.03.2022, 23:15 | |||||||||||||||
|
И более интересный вопрос: чем ваш способ лучше обычного BSRR?
Аргументы, а не пустые выкрики. Вам для изменения командной строки отладчика недостаточно соответствующий конфиг указать?
0
|
|||||||||||||||
| 23.03.2022, 23:26 | |||||||
|
ааа, кстати у меня и на запись 0 и на запись 1 может быть использован один регистр адреса но правда с учетом команд загрузки\записи со смещением это так себе аргумент :-)))
0
|
|||||||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
|||||||
| 24.03.2022, 00:27 | |||||||
|
Впрочем, могу подсказать, что макроязык в ассемблере гибче, чем в Си, и ту же работу с портами вы вполне можете реализовать на нем, чтобы точно так же задавать все параметры одной макроконстантой. Но там сам ассемблер попроще. Но как это связано с обычным f1, который и базовая версия из репозитория прекрасно поддерживает?
0
|
|||||||
| 24.03.2022, 06:14 | ||||
|
0
|
||||
|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
||||||
| 24.03.2022, 06:59 [ТС] | ||||||
|
Вот мой код с правками, а значения адресов брал в файле stm32f100xb.h. Открывал через блокнот. Сюда не получается скинуть его. На GitHub он есть.
0
|
||||||
| 24.03.2022, 07:15 | |||
|
ну и про Start я уже писал выше... я в каком то из предыдущих сообщений разместил архив с файлами инклудов... p.s. кейл не предназначен для ассемблера :-) хотя он там и есть :-) вот вам и нужно будет сначала со всеми файлами констант разбираться, и только потом программировать
0
|
|||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
||||
| 24.03.2022, 07:46 | ||||
|
А что до асм/си, то это вы для себя выставили ограничение пользоваться именно ассемблером, я им не связан и могу применять тот инструмент, который захочу. А уже дальше можно сравнивать какой решает задачу лучше. stm32f103: 11300 https://www.youtube.com/watch?v=afyTgpuA6sc gd32vf103: 14064 https://www.youtube.com/watch?v=qRwLDw6-5CY Разница около 20%. Кстати, при переносе с одного ядра на другое, в коде не так уж много пришлось менять. По сути, только имена регистров. А теперь представьте, что подобная задача стоит перед вами...
0
|
||||
| 24.03.2022, 07:50 | |||
|
свой, якобы написанный на ассемблере код - не показываете :-) си мне не интересен, не понимаю зачем вы мне на него ссылаетесь
0
|
|||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
||||||||||||
| 24.03.2022, 08:04 | ||||||||||||
Добавлено через 8 минут Если пропустил какой-то еще, наверное и правда пропустил. Повторите. Как и говорил с самого начала - ассемблер для RISCV (gd32vf103)
0
|
||||||||||||
| 24.03.2022, 08:08 | ||
|
на этом я общение в этой теме по си заканчиваю, до свидания где нить в другой теме
0
|
||
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
||
| 24.03.2022, 08:57 | ||
|
0
|
||
| 24.03.2022, 10:48 | |||||||||||
Сообщение было отмечено Boris2288 как решение
Решение
Boris2288
в общем вот какой код + константы например получаются у меня
не забудьте для указателя DCD Start прибавить единичку
p.s. в кейле на асме кодить один геморрой - просто потому что все файлы определений вас будут высушивать так как не высушивал никто... а потом будет сушить дибильный редактор не имеющий фич именно для ассемблера. Добавлено через 19 минут ну и про отладку, которая "все решает" я много раз писал, но возможно вам проще один раз увидеть
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
||||||
| 24.03.2022, 19:28 [ТС] | ||||||
|
УРА, все заработало, светодиод горит. Спасибо огромное за помощь. DCD Start не добавлял 1. Я её добавил на первой и второй строчках изначально.
0
|
||||||
|
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,717
|
|
| 24.03.2022, 20:16 | |
|
Так автор начал зажигать светодиод 18.03.2022 и закончил 24.03.2022. А если нужно будет выводить текст на LCD HD44870.
0
|
|
|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
|
| 24.03.2022, 20:31 [ТС] | |
|
0
|
|
|
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,717
|
|
| 24.03.2022, 20:42 | |
|
0
|
|
|
4149 / 2727 / 433
Регистрация: 09.09.2017
Сообщений: 12,086
|
|
| 24.03.2022, 21:13 | |
|
Нет, что на асме - тоже правильно. Это позволяет гораздо лучше понять как контроллер работает внутри, что такое регистры, стек, атомарность и т.д. Правда, arm в этом не лучший выбор, но всяко лучше, чем x86.
Если говорить об изучении внутренностей ЭВМ, я бы все еще предложил AVR или, несколько хуже, RISCV. Они значительно более простые. Хотя на RISCV бывают и контроллеры, и полноценные процессоры.
0
|
|
| 24.03.2022, 21:29 | ||
|
ну вот теперь по коду и перепишите на зажигание светодиода тоже например битбандингом.. и проверите полученные знания.. и после этого скорее всего с битбандингом больше проблем у вас и не будет
0
|
||
| 24.03.2022, 21:29 | |
|
Зажечь светодиод по кнопке на ATMega8515 По нажатию кнопки зажечь светодиод (STM32L152) AS-sam3X. Зажечь светодиод через веб-интерфейс Как зажечь светодиод? Зажечь светодиод по таймеру Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение 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, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|