вопрос по GPIO на STM32F4

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Прорезались зубы
Сообщения: 210
Зарегистрирован: Пн окт 21, 2013 07:33:45

Сообщение FPGAlover »

Доброго дня!
понадобилось генерить тактовые импульсы на STM.
Скважность не имеет значения, а имеет значение быстродействие кода.
По этому поводу меня посетила одна авантюрная мысль, требующая подтверждения/опровержения.
А что если в BSRR писать, например 0x01000100. т.е. одной командой записи и установить и сбросить один и тот же бит.
Будет ли при этом "проскакивать" наносекундный импульс, или же вся идея упрется в тактирование порта?
Шоб я польку танцевал..
Реклама
Опытный кот
Аватара пользователя
Сообщения: 728
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

FPGAlover писал(а):А что если в BSRR писать, например 0x01000100. т.е. одной командой записи и установить и сбросить один и тот же бит.
А где тут установка и сброс одного и того же бита? Вижу только установить 2 и 6 бит.
Реклама
Прорезались зубы
Сообщения: 210
Зарегистрирован: Пн окт 21, 2013 07:33:45

Сообщение FPGAlover »

amv2000 писал(а):А где тут установка и сброс одного и того же бита? Вижу только установить 2 и 6 бит.
это шестнадцатеричная форма записи 32 битного числа... и бит этот 8й(считая с нулевого)
0x00800080 - а это 7го. Так понятней ? =)
оба полуслова(по 16 бит) одинаковы, только одно представляет маску для сброса, а другое для установки. А пишутся они за одну команду.
Шоб я польку танцевал..
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

FPGAlover, читай RM - Note: If both BSx and BRx are set, BSx has priority.
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 728
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

FPGAlover писал(а):это шестнадцатеричная форма записи 32 битного числа.
Теперь понятно, уже встречал на easyelectronics что выше писал dosikus
BSRR и BRR атомарный доступ к ODR.

BSRR первые 16 бит (BS) устанавливают биты, вторые 16 бит (BR) сбрасывают биты у ODR.
Если BS и BR биты установлены вместе, BS имеет приоритет.
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

FPGAlover писал(а):Скважность не имеет значения, а имеет значение быстродействие кода.
А почему нельзя воспользоваться таймером и вообще не загружать процессор? Там можно до такта процессора все выставить...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

balmer писал(а): А почему нельзя воспользоваться таймером
Скорей всего отсутствие знаний и понимания архитектуры .
А вот быстродействие понятие относительное.
Если бы FPGAlover озвучил конечную цель а не свои надумки , можно было бы задействовать что-то из периферии .
А в целом - все как всегда, каждый нуб пытается софтовым ногодрыгом добить свои мечты...
Прорезались зубы
Сообщения: 210
Зарегистрирован: Пн окт 21, 2013 07:33:45

Сообщение FPGAlover »

dosikus писал(а):Если бы FPGAlover озвучил конечную цель а не свои надумки , можно было бы задействовать что-то из периферии .
конечно можно.
Цель получить конечное к-во выборок со внешнего параллельного АЦП. с частотой порядка 30-40мгц. (sysclk=168)
Рассматривался вариант ногодрыга, хотя видно еще 2 бм нормальных варианта:
1. варианты(включая ДМА) с тактированием через MCO/таймер (некоторая асинхронность).
2. Через FSMC + ДМА

Однако, с ходу не очевидно, не придется ли читать данные в момент их смены (в 1м случае)
второй же вариант смотрится отлично.
Вопрос же был задан в академических рамках и...
dosikus писал(а): читай RM - Note: If both BSx and BRx are set, BSx has priority.
является исчерпывающим ответом, а прочие инсинуации надуманы течением темы, не относящейся к вопросу.
Шоб я польку танцевал..
Ответить

Вернуться в «ARM»