|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
|||||||||||
Зажечь светодиод используя bit banding18.03.2022, 16:44. Показов 4879. Ответов 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 |
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,066
|
|||||||||||||||
| 23.03.2022, 23:15 | |||||||||||||||
|
И более интересный вопрос: чем ваш способ лучше обычного BSRR?
Аргументы, а не пустые выкрики. Вам для изменения командной строки отладчика недостаточно соответствующий конфиг указать?
0
|
|||||||||||||||
| 23.03.2022, 23:26 | |||||||
|
ааа, кстати у меня и на запись 0 и на запись 1 может быть использован один регистр адреса но правда с учетом команд загрузки\записи со смещением это так себе аргумент :-)))
0
|
|||||||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,066
|
|||||||
| 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
|
|||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,066
|
||||
| 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
|
|||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,066
|
||||||||||||
| 24.03.2022, 08:04 | ||||||||||||
Добавлено через 8 минут Если пропустил какой-то еще, наверное и правда пропустил. Повторите. Как и говорил с самого начала - ассемблер для RISCV (gd32vf103)
0
|
||||||||||||
| 24.03.2022, 08:08 | ||
|
на этом я общение в этой теме по си заканчиваю, до свидания где нить в другой теме
0
|
||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,066
|
||
| 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,715
|
|
| 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,715
|
|
| 24.03.2022, 20:42 | |
|
0
|
|
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,066
|
|
| 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. Зажечь светодиод через веб-интерфейс Как зажечь светодиод? Зажечь светодиод по таймеру Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
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
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|