|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
|||||||||||
Зажечь светодиод используя bit banding18.03.2022, 16:44. Показов 4900. Ответов 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 |
| 23.03.2022, 13:14 | ||
|
так глядишь еще через пару дней переписки и дойдем до вопроса который ТС задавал ! :-) то есть правильно ли он использует битбандинг как функциональность mcu... :-) прогресс !!
0
|
||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,075
|
|
| 23.03.2022, 17:11 | |
|
0
|
|
| 23.03.2022, 19:43 | ||
|
а если серьездно - даже вот на вскидку и не помню чтобы кто то на СИ использовал битбандинг... может где нить в написании ОС есть.. но вообще не видел нигде... возможно мало видел...
0
|
||
|
4148 / 2726 / 433
Регистрация: 09.09.2017
Сообщений: 12,075
|
|||
| 23.03.2022, 19:52 | |||
|
А то нафантазировали себе непонятно что, а ответов от меня ждете. Выходит, не такая уж это полезная штука...
0
|
|||
| 23.03.2022, 20:00 | |||||||
|
битбандинг это один из типов адресации бит в микроконтроллере.. все. на этом точка использовать это или нет, это скорее выбор конкретного разработчика, его предпочтений, видения способа решения задач.. чем вас напрягает такое управление линиями дисплея в драйвере ?
причем этот код еще не хило оптимизируется.. но это пример... усложнять дальше не стал...
0
|
|||||||
| 23.03.2022, 20:10 | |
|
COKPOWEHEU,
кстати а я не с вами по среде ассемблера спорил года 2 назад ? :-) помню мы такой знатный срач устроили... по поводу функций иде и подсветки.... хоть я считал что подсветка это нифига не главное, но все таки в итоге это реализовал, причем в нормальном виде (с проверкой параметров, но правда получилось не все - допустимость регистров не проверяется еще и значения константных значений)
0
|
|
| 23.03.2022, 20:39 | ||||||
|
про BFI - смотрите описание инструкции
то есть должна быть указана позиция поля, а не адрес как у вас
0
|
||||||
|
|
|||
| 23.03.2022, 20:40 | |||
Добавлено через 1 минуту Ах да, это вы со мной спорили
0
|
|||
| 23.03.2022, 20:53 | ||
![]() неее, я спорил на тему что так как подсветка реализована в действующих редакторах - она бесполезна для программиста, и сделана для блондинок ) потом, из за вас пришлось сделать то как я ее вижу получилось очень похоже на то что я говорил.. хотя конечно еще надо кое что дописывать, но это уже во второй версии редактора....Добавлено через 5 минут вот что в итоге получилось https://habr.com/ru/post/542420/
1
|
||
| 23.03.2022, 20:57 | ||
|
а вот проверка вводимых инструкций очень и очень удобна - видишь чушь еще до компиляции...
0
|
||
|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
||||||
| 23.03.2022, 21:19 [ТС] | ||||||
|
Попробовал сделать все по примеру, вроде от ошибок избавился, а светодиод не горит.
0
|
||||||
| 23.03.2022, 21:43 | ||||||||||||||||||
и у вас соответственно (если R2=0) то
вы не умеете ее пользоваться ? по идее выбрать отладку где нить в меню и по шагам смотреть какое значение и куда записывается... я к сожалению по кейлу не советчик :-( но то что там отладка есть - это 100 пудов... да не сочтет админ за рекламу - вы бы скачали мой редактор, и в нем попробовали.. там правда если у вас stm32f1 VL Disco нужно будет маленькое изменение драйвера сделать для ST-Link (там версия V1), но потом сможете пользоваться отладчиком... и смотреть какие значения прямо в регистрах микроконтроллера получились и в регистрах периферии... вид на отладчик в ArmAsmEdit или посмотрите в интернете как выглядит отладка в кейл... без отладки на ассемблере будет тяжко, особенно в первое время.. да и потом с усложнением алгоритмов - все равно тяжко :-)
1
|
||||||||||||||||||
|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
||||||
| 23.03.2022, 21:49 [ТС] | ||||||
|
Тогда я запутался. Вот ваш пример. Есть GPIO_MODE_OUT50 и GPIO_CRH_MODE9_N. GPIO_MODE_OUT50 нам делает выход 50 МГц, а GPIO_CRH_MODE9_N что нам показывает.
0
|
||||||
| 23.03.2022, 22:31 | |||||||||||||||||||||||||||||||||||||||
GPIO_MODE_OUT10 - это режим ноги - то есть значение которое нужно поместить... дальше смотрите скрин BFI BFI <значение для изменения>, <что положить>, <с какой битовой позиции>, <сколько бит> то есть
если у вас второй вывод (ну то есть с номером 1 :-) если считать с нуля) то по идее должно быть
и кстати, для второго вывода чтение запись нужно делать в GPIO_CRL а не GPIO_CRH
![]() Добавлено через 21 минуту гм.. опять не зажглось ? :-( давайте вашу программу сюда тогда полностью со всеми правками.. завтра достану VL Discovery и посмотрю что не так... хотя вроде уже все обсудили... Добавлено через 2 минуты кстати, еще замечание, вот эта строчка меня немного напрягает... вектор старта должен быть увеличен на единицу вроде как, там младший бит указывает на Thumb режим исполнения
0
|
|||||||||||||||||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 20.02.2019
Сообщений: 50
|
|
| 23.03.2022, 22:37 [ТС] | |
|
Так вот код, который выше.
0
|
|
| 23.03.2022, 23:00 | |||||||||||||||||
|
Добавлено через 18 минут блин, еще одну ошибку я просмотрел... привык к своим определениям вы определяете константы базы адресов периферии
вообще вам бы найти какие нить файлы определений хотя бы относительно проверенные.. а то сами понимаете -ошибка в адресе записи - это считай не записать вовсе :-( и нужен все таки отладчик, да, я понимаю что уже который раз это пишу, но вы бы сразу увидели и Start без +1 и адрес битбанда не верный (0х82..... вместо 0x42.....)
0
|
|||||||||||||||||
| 23.03.2022, 23:00 | |
|
Не по теме: Почему любитель асма не написал редактор на асме? Это было бы круто и супер оптимально так же как для ARM!
0
|
|
| 23.03.2022, 23:05 | |
|
Boris2288
посмотрите мои файлы определений, там по идее символ комментария @ на точку с запятой поменять... ну и может еще что по мелочи... проверено не все конечно (сами делали по даташиту для f1)... но по крайней мере будет от чего отталкиваться инклудами их будете добавлять в проект и не парится.. правда надо посмотреть синтаксис кейла но думаю это не сложно...
0
|
|
| 23.03.2022, 23:05 | |
|
Зажечь светодиод по кнопке на ATMega8515 По нажатию кнопки зажечь светодиод (STM32L152) AS-sam3X. Зажечь светодиод через веб-интерфейс Как зажечь светодиод? Зажечь светодиод по таймеру Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
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 реально казались вершиной жары, когда можно было весь день пропадать на. . .
|