-
Постов
4 850 -
Зарегистрирован
-
Победитель дней
3
Весь контент Xenia
-
Полностью согласна :). Однако "нелепость" зачастую бывает обусловлена тем, что все мы привыкли к устоявшемся за долгое время схемам каскадов, как лаповых, так и транзисторных. А если что не так, то оно сильно режет глаз. Однако я когда-то в детстве :) "читала" книгу - Бонч-Бруевича "Применение электронных ламп в экспериментальной физике" (она мне от деда досталась, 1955 года издания). Так вот в той книге были схемы, где лампы аж вверх ногами были изображены. Т.е. тест этой книги писался еще до войны, а примеры были не из радиодела, а для разных специальных случаев. Я ее в последствии раздобыла в электронном виде (сканы страниц) и даже на местный FTP ее закачала, т.к. книга предельно интересная. А сейчас я ее вспомнила, глядючи на "нелепые схемы" :), и две странички оттуда сейчас покажу. Конечно они не обеляют нелепости здешних схем, но напоминают их тем, что представляют собой ламповый каскад с потенциометрической связью. А использовался он там для построения ламповых усилителей ПОСТОЯННОГО тока.
-
Скажите, а коробочка/корпус для него бывает? И куда лично вы это засовываете? :)
-
А что вам даст сила, если на суммарный ток (анода+сетки) она влиять не будет? Ведь при положительных потенциалах анода и сетки ВСЕ (!) электроны, испускаемые катодом, будут уловлены, а больше их от этого не станет. Равно как вам не надоить от коровы больше молока, если взять более мощный насос :), т.к. молоко производит корова, а скорость его откачки из вымени, на удойность не влияет. Если на этот счет у вас есть сомнения, то могу предложить вам простой опыт - отключите у лампы ток накала и посмотрите сколько "дополнительных электронов" вы сможете вытянуть из катода, если он будет холодным. Полагаю, что ток анода (как и ток сетки, если вы ее с анодом соедините) останется нулевым, как при 110, так и при 500, и даже 1000 вольт! Т.е. даже 1000 вольт не хватит для того, чтобы вырвать валентный электрон из металла, будь он хоть цезием. Поэтому я вам очень советую прочесть в Википедии статью https://ru.wikipedia.org/wiki/Термоэлектронная_эмиссия , чтобы понять, откуда берутся электроны. А затем выбросить из головы идею про увеличение тока посредством "силы". Увеличение положительного потенциала анода и сетки (в это случае сетку можно считать вторым анодом) приведет не к увеличению тока, а лишь к увеличению мощности при том же токе за счет роста напряжения, т.к. мощность равна: P=U*I . Поэтому у вас скоро расплавится анод :), поскольку через вакуум теплота плохо рассеивается. Скорость электронов в промежутке между катодом и анодом (+сеткой) вы этим способом увеличите, но суммарное их число останется прежним (тем, что удалось "выдоить" с катода). Тогда как ток определятся числом зарядов за единицу времени, а не их скоростью. Даже если бы вы разогнали эти электроны до релятивистских скоростей, суммарный ток от этого ни на йоту не увеличился бы. Сопротивление действительно несколько уменьшится, но вы забываете, что ток в лампе (между катодом и анодом) зависит от сопротивления до тех пор, пока катод не вошел в режим насыщения. Тогда как при положительном потенциале сетки он сразу же в этот режим войдет, и после этого ток будет определять уже не сопротивление, а максимальный ток эмиссии катода. Эти 140 мА и есть тот ток, до которого катод можно доить, а выше его не раздоишь. Разве что включить накал с перекалом, но это для катода вредно. А 95 мА - это, по-видимому, предельный рабочий ток, чтобы ограниченность эмиссионной способности катода не сказывалась на рабочих характеристиках. "Загнанных лошадей пристреливают", вот и катод тоже надо беречь. Опять же видно, что 95 отличаются от 140 ровно на 50% - это как раз и есть разумный запас, на который не надо покушаться. В рабочих режимах радиолампы ток сетки очень мал, а потому любая сетка с ним справляется. А таких чуваков, чтобы на сетку положительное напряжение подавали, обычно не бывает :). Там усиление низкое, а потому у лампы будет слишком малый КПД. Но если вы поглядите на лампы, предназначенные для батарейного питания, то там анодное напряжение бывает ниже (обычно напряжение анодной батареи 80 вольт). Тогда как ваша лампа явно для сетевого радиоприемника, где высокое напряжение не в дефиците. Не знаю :) Традиционно ставят резистор с цепь катода (между катодом и землей). Тогда он создает смещение за счет проходящего через катод тока. Этот метод очень хорош еще и тем, что ограничивает максимальный ток через лампу и позволяет его установить таким, как надо. Т.е. в этом случае анодный ток не может превзойти величину I=Uзапирания / R, т.к. при этом токе на сетке возникнет потенциал, запирающий лампу.
-
Скажите, а можно ли заменить двухзатворный транзистор парой обычных транзисторов, соединенных последовательно (коллектор первого к эмиттеру второго)? Ну и ради удобства подачи смещения на базы выбрать их разными (npn + pnp). Тогда формально должно получиться, как в лампе с двумя сетками, т.к. ток проходит через оба транзистора последовательно. К сожалению, мои познания в аналоговой схемотехнике не настолько велики, как в цифровой, а потому сомнения на этот счет меня гложут :).
-
Полагаю, что вы точно поставили диагноз :) - автор темы явно знаком с работой транзисторных ключей, а потому, оказавшись в незнакомой области, провел излишне прямую аналогию между транзистором и триодом, а в результате пришел к ошибочным выводам. Кстати, в обратную сторону (от радиоламп к транзисторам или ОУ) проводить аналогию тоже бывает трудно. Скажем, на многосеточной радиолампе (с двумя управляющими сетками) легко реализуется модуляция, когда на разные сетки подаются две частоты, а на аноде получаем сигнал, равный их произведению (это не сумма!). А вот то, как сделать такое на полупроводниковой базе, далеко не очевидно. Транзисторы с двумя базами - экзотика, а потому прямая аналогия не проходит. Может подкинете идею?
-
Эмиссию электронов должен задавать накал катода и материал, из которого тот катод сделан. При этом предполагается, что катод эммитирует электроны с большим запасом, а анодный ток регулируется "на таможне" - сетка пропускает в сторону анода не все электроны, а только их ЧАСТЬ. Такой режим выбирают для того, чтобы лампа работала в качестве усилителя. А если вам этого не надо, подключайте нагрузку к источнику питания прямо через выключатель :), зачем тогда мучить триод? Подавать на анод напряжение, меньшее номинала можно - это триоду не повредит, но с точки зрения усиления нецелесообразно, т.к. в этом случае коэффициент усиления будет очень мал. Тогда как сама идея усиления состоит именно в том, чтобы малые колебания напряжения на сетке приводили к большим колебаниям анодного напряжения или тока. Поэтому положительный потенциал на сетку никогда не подают, т.к. в этом случае анодный ток будет зависеть только от производительности катода, а на малые колебания напряжения на сетке триод реагировать не будет. Рассматривайте ситуацию НЕ так, что сетка вытягивает электроны с катода, а так, что на их не пускает к аноду. Сетка здесь в роли постового-регулировщика на перекрестке, который своим жезлом перекрывает движение, но автомобили он своими руками не толкает :). Т.е. в первом приближении считайте эмиссию электронов независимой от потенциала сетки, а анодный ток регулируемым по дороге к аноду. Идея усилителя на электронной лампе не в том, чтобы отрывать от катода дополнительные электроны, а том, чтобы ТОРМОЗИТЬ этот поток! Здесь полная аналогия с водопроводным вентилем. Разве это кран сосет воду из трубы? - Нет! В трубе всегда должен быть напор, а вентиль регулирует поток воды через себя путем частичного запирания этого потока (сужением отверстия, через которое он протекает). Уже при нулевом потенциале на управляющей сетке вентиль можно считать открытым до отказа - большего напора ваш водопровод дать не может. А для того, чтобы вентиль был эффективным регулятором, его надо выкрутить в промежуточное положение, когда расход воды примерно равен половине от максимально возможного. В этом случае кран будет регулировать в обе стороны, как уменьшая поток, так и увеличивая его. Смотрим на анодно-сеточную характеристику вашего триода: Видим, что при анодном напряжении 100V (110V ищите экстраполяцией) полное запирание триода происходит где-то при -55V (минус!) Тогда как средняя "рабочая точка") достигается примерно при -25V на сетке. В окрестности этой точки потенциал сетки может колебаться в примерно на 10V в ЛЮБУЮ сторону, приводя к очень значительному колебанию анодного тока. Это и есть работа триода в режиме класса А, когда участок характеристики в окрестности рабочей точки почти линеен. Нет, Uс=-7V это, вероятно, рекомендованный потенциал рабочей точки, когда триод ПОЛУОТКРЫТ. Однако с анодно-сеточной характеристикой, найденной мной в интернете, это слабо совпадет. Предположу, что в анодной цепи стоит резистор, а потому реальное напряжение на аноде меньше 100-110V. Иначе этот потенциал кажется мне слишком маленьким. НЕправильно понимаете. Читайте мои объяснения выше и не путайте вентиль с насосом :).
-
Опечатка, конечно. Следует читать "Линукс". Но детали-то вы напаивали сами? В противном случае откуда требование "паяемый корпус", если вы не сами его паяете? Тогда как мой знакомый заказал (за счет организации, где работает) изготовление модуля целиком. Для писания лекарств нужно хорошо знать x86 и понимать результат трассировки. Умение программировать микроконтроллеры отсюда никак не следует. Каждый человек, что-то знает хорошо, а что-то плохо - абсолютной эрудиции не бывает. Такое иногда случается. Но насколько я поняла из вашего ответа, что они вам неинтересны.
-
"Санкционка" работает, если я партию процессоров закажу у иностранного дилера. А если закажу себе готовую плату из Китая на этом процессоре, то никакая санкционка этой покупке не помешает. Тем более что китайцам начхать на выполнение "лицензионных обязательств" насчет перепродажи третьему лицу. Не говоря уже о том, что под санкционные ограничения вроде бы не подпадают готовые изделия. Насколько я в курсе, am335x "устарели" достаточно, чтобы цены на них сильно снизились. Будь оно не так, то китайцы не сували бы эти процессоры в кассовые аппараты, а выбрали что-нибудь по-дешевле.
-
Спасибо за исчерпывающие ответы на моим вопросы. А вот по поводу вашего выбора платы/процессор неясности остались. Скажем, почему бы вам не купить "Малинку" или BeagleboneBlack? (последней я симпатизирую много больше). Или у вас есть требования к компактности, которые не позволяют использовать использовать промышленные микрокомпьютеры? Объясню, отчего я гну в эту сторону - паять палаты я не умею :) , т.к. специализируюсь ближе к программированию. Поэтому ваша плата на C6745 меня не впечатлила, т.к. напаять на нее детали я бы все равно не смогла. В этом смысле A13-OLinuXino гораздо лучше, т.к. там уже все собрано, включая VGA-разъем. Однако A13-OLinuXino, на мой взгляд, довольно "древняя". А потому и возникает вопрос, отчего на этих двух платах свет клином сошелся. Но есть и другая сторона у этого вопроса. Мой знакомый из Новосибирска, с которым прежде STM32 осваивали, недавно написал мне, что перешел на Ситару (am335x). Причем, как и вы, обходится без Линуса. И мне написал, чтобы я этого процессора не боялась, т.к. программировать его можно, как и прочие ARM'ы, через IAR. Платы, на которых он работает, "самодельные", но не своими руками сделанные, а заказные (см. фото): Но я того же типа видела платы/модули на Aliexpress для кассовых аппаратов, причем не слишком дорого, т.к. эти платы выпускают большими тиражами: Бывают такие же, но без разъема с дырочками по краям. И не только с am3352, но и с am3354 или am3358 (последние дороже), однако внешне выглядят одинаково: Прокомментируйте пожалуйста возможность использования процессоров AM335x для "игровых" целей. Годятся ли они, как дешевая альтернатива C6745?
-
А что не так? Поиск тоже показывает, что это "A13-OLinuXino" от компании Olimex. Знакомая разводка... Помню даже предложение о продаже для нее готовых печатных плат. Кажется, по этой плате я вас вспомнила. Вы - знаменитый Gradius с форума old-games.ru! А тогда еще вопрос - где у этой платы VGA-разъем для подключения дисплея? (На плате A13-OLinuXino он был). Или здесь предусмотрен какой-то иной вариант вывода графики? И вообще расскажите, если вам не трудно, а как дела здесь обстоят с "рисованием". А то у меня сильное подозрение, что эффективность графического вывода может оказывать на скорость игры даже большее влияние, что тактовая частота самого процессора. Не даром в микроконтроллеры даже среднего уровня встраивают контроллеры дисплея (причем разные). Среди них есть такие, где память видеобуфера уже расположена в адресном пространстве процессора, а он сам обращается к дисплею, как к внешней памяти. И прочие приспособления вплоть до "двухмерного" DMA. Весьма вероятно, что такой вывод на дисплей окажется в разы быстрее, чем VGA. Отсюда и ответ на вопрос темы "кто кого уделает "может очень сильно зависеть от типа графического вывода, тогда как вы не сказали, одинаковы ли они у Allwinner A13 SoC и у DSP C6745. Вдруг у C6745 вообще нет VGA :), а общается он со своим дисплеем как-то иначе, а то и через дополнительный контроллер видеокарты.
-
Вы много примеров приводили для C6745, а что у вас за плата на нем? Не сами же вы ее паяли? :) Тогда как про Allwinner A13 SoC тут все ясно - это плата от Olimex.
-
Скажите пожалуйста, что вам известно про "Sega Genesis" (https://en.wikipedia.org/wiki/Sega_Genesis). Что там у него внутри, и как обстоят дела с эмуляторами для него? Объясню причину своего интереса. В детстве все деньги просаживала на игровом автомате "Punisher and Nick Fury". В последствии узнала, что внутри какой-то клон Sega.
-
Работа сайта и сервера
Xenia ответил admin тема в Новости и обсуждения сайта и форума
"Телефонисты" наступают - всё, что меньше отпечатка пальца, удаляется. -
Очень интересно! Расскажите подробнее. Правильно ли я поняла, что эмуляторы для Allwinner A13 и TMS320C6745 вы сами писали? На мой беглый взгляд, нет ничего удивительного, что первый процессор обогнал второго, т.к. у него тактовая частота почти вдвое больше. А то, что второй DSP, вероятно никак не сказывается из-за того, что работа идет через эмулятор. Кроме GBA, вы какие еще эмуляторы делали, если назвали GBA "самым тяжелым"? И еще один вопрос: как же в те времена процессор GameBoy'я с этими играми справлялся? Я понимаю, что эмулятор работает медленнее, чем нативный код, но все-таки разница в тактовой частоте по сравнению со современными МК уж больно велика.
-
Raven это хорошо делает и правильно, но ... медленно :). В том и был смысл моего предыдущего выступления, что именно это самое узкое место, которое тормозит всю работу. А некоторая резкость в голосе была от досады на попытки оптимизировать другие стадии работы, оставив лимитующую стадию неизменной.
-
Дайте мне список ссылок и контрольных сумм и я за час всё скачаю и контрольные суммы проверю (1 час/версию). Но скачаю это в одну кучу! Или в лучшем случае смогу лишь разделить по папкам с номерами версий, но тогда Windows, Linux, Drivers, Pro, Lite и прочего тонкого деления не будет. Ну тягостно мне из имени файла вычислять, в какой поддиректорий его надобно класть. Я уже охрипла просить ссылки и дерево, а вы, на мой взгляд, ерундой занимаетесь. Причем ерундой вредной, т.к. она отвлекает внимание от главной задачи, переводя его на второстепенные, тогда как срок подходит все ближе и ближе. А мы тут какой-то штаб создали, инструкции сочиняем... Тогда как все версии можно было бы скачать за трое суток вместе с проверкой контрольных сумм, если бы не бюрократией занимались, списки ссылок составляли. Поэтому порядок работы может выглядеть только так, поскольку в ином порядке работать невозможно: 1. Кто-то соображающий в процессах инсталляции должен составить дерево поддиректориев на конкретную версию. Пока это не сделано, ссылки на файлы бесполезны - их некуда заливать. Дерево может быть задано составителем либо сразу на FTP в виде вложенных друг в друга пустых директориев, либо их имена сразу внесены в список ссылок - тогда дерево директориев создам я сама. 2. Теперь уже нужен список ссылок. И не просто простыня со ссылками (как в Qu_md5urls 8 \u043a\u0411 · 1 download), а с привязкой к поддиректориям, в которые каждый из файлов должен быть помещен. Например: - здесь уже невозможно ошибиться с тем, откуда и куда заливать, т.к. четко указаны оба адреса. При такой записи даже при отсутствии дерева, легко сообразить, что ветку "Quartus_12.1sp1/WIN/devices/patch" предварительно надо создвть. Тода как по одной лишь ссылке на файл об этом догадаться затруднительно. 3. По окончании заливки вычисляются контрольные суммы md5 файлов в каждом поддеректории. И вот только после этого может идти речь о сравнение этих сумм с теми, что даны на сайте Xilinx, но никак не раньше! По поводу заданных контрольных сумм тоже есть два варианта: их можно записывать в отдельные файлы, помещаемые в соответствующий директорий, а можно и внести в общий список. Первый вариант удобнее для сравнения, но труднее для составителя. Вот собственно и всё.
-
А-та-та может случиться за то, что в файле задания Quartus_13.0.txt указан логин и пароль к сайту Альтеры. Правда я сама не пыталась с этим паролем на Альтеру лазить, но все-равно нехорошо.
-
Не надо добровольцев, позвольте скачиванием (больших) файлов на сервер заниматься мне. А вот помощь в проверке целостности и расположения файлов на дереве мне нужна, т.к. какой-то из файлов может быть пропущен/недозалит, как по моему недосмотру, так и по недосмотру координатора. В противном случае все мы рискуем тем, что продукт окажется неполным, а потому и не пригодным для использования.
-
С администраторами сервера я не общаюсь и даже не знаю, кто это. А про проблему с дисковым массивом я узнала из вашего сообщения.
-
Наша библиотека FTP - не публичное место, а адреса файлов с Альтеры - не самый большой секрет, который стоило бы там оберегать. Здесь всё просто. Если координатор выложил md5-суммы вместе с адресами файлов, то их проверяет заливщик после скачивания очередного файла, ибо это и есть наилучший способ проверить качество скачивания, позволяя понять, когда его следует повторить еще раз. Но если координатор md5-суммы зажилил, то проверяет их он сам, поскольку заливщику они неизвестны. Ничего такого не надо - тождество md5-сумм легко проверяется на глаз - по последним 4-ем hex-цифрам. Я и в прошлом этим занималась, совмещая в одном лице все три роли. Например, заливки Xilinx за последние 5 лет - моя работа. Но там координация была не нужна, поскольку каждый продукт сваливался в один директорий, делить который на части не имело большого смысла. Тогда как с Altera возникла проблема развешивания файлов на ёлку, т.к. их числом прибыло. А кроме того, усложнилась структура из-за того, что какие-то одни файлы относятся к отдельным в версиям (Standard, Lite, Pro), а какие-то другие являются для всех версий общими. Отсюда и потребность в директорном дереве. Я же таких подробностей знать не могу, и только потому сейчас нуждаюсь в помощи координатора, которой бы это дерево нарисовал и подсказал, какой файл куда заливать. До сих пор в роли координатора мне ассистировал MaratZuev , который только MD5-сумм не дает, но в остальном вполне хорош :). Нет задания - нечего заливать. Жду.
-
Задача координатора - создать дерево директориев в зоне /upload, куда может писать каждый, и поместить в его корень текстовый файл с абзацами такого вида: откуда downloader узнает, что на ветку дерева с именем Quartus_18.1/Standard/Common/Combined Files/ надо залить именно эти 3 файла с сайта Альтеры. И вот по такому абзацу на каждую ветку, куда что-то надо заливать. Более ничего downloader 'у знать не надо. Но если известны контрольные суммы, то их, видимо, можно дописать сюда же. А для того, чтобы написать такой файл никакие особые полномочия координатору не нужны. Нет, не проверены, т.к. я их не знала, какими они должны быть. Но если они MD5, то посчитать их на сервере я могу. Проблема только в том, с чем их потом сравнивать.
-
У меня на сервере ограниченные права - могу запускать лишь те программы, которые уже проинсталлированы в системе. Например могу запустить rar или gzip для архивации или проверки целостности архива. Из контрольных сумм доступна md5 и cksum, но sha недоступна. Свои программы не могу там там запускать, т.к. все исполняемые программы должны находиться в директории bin, куда у меня доступа нет. Но самое ценное - возможность пользоваться командой wgеt, которая скачивает файлы из интернета по заданному адресу. Эта возможность делает из меня хорошего downloader 'а, тогда как работа keeper'а здесь несложная. Тогда как другие заливщики вместо меня едва ли справятся с заливкой объемов под 500 ГБ и более, поскольку через ftp это будет сложно сделать из-за того, что коннект всё еще работает плохо, а при заливке длинных файлов бывают сбои. При этом я бы предпочла, чтобы проверку делал кто-то еще, кому известны контрольные суммы файлов. Но, на мой взгляд, именно сам координатор и должен проверять, правильно ли выполнено его задание, поскольку составлял его он сам. Они все лежат там, где им положено: /pub/FPGA/_Altera_/Quartus_4.2 /pub/FPGA/_Altera_/Quartus_9.1 /pub/FPGA/_Altera_/Quartus_13.0 /pub/FPGA/_Altera_/Quartus_13.1a10 /pub/FPGA/_Altera_/Quartus_14.0a10 /pub/FPGA/_Altera_/Quartus_18.1 /pub/FPGA/_Altera_/Quartus_Prime_19.1 Было бы замечательно, если вы их проверили. Причем меня волнуют не столько контрольные суммы, сколько то, все ли файлы скачаны. Т.к. нехватка хотя бы одного из файлов может испортить всю инсталляцию.
-
Поскольку к настоящему времени уже целиком залиты версии: Quartus_4.2 Quartus_9.1 Quartus_13.0 Quartus_13.1a10 Quartus_14.0a10 Quartus_18.1 Quartus_Prime_19.1 то уже появился некоторый опыт, которым сейчас поделюсь. Практика показала, что наилучший вариант, когда координатор сам создает корневой деректорий (в зоне /upload) для конкретной версии Quartus и все (пустые) его поддиректории. Тогда как заливающий закачивает файлы в готовые папки. Причина такого выбора в том, что только сам координатор представляет, как должно выглядеть дерево деректориев для данной версии и может составить список файлов (их ссылки с сайта Альтеры), которые туда надо заливать. Для этого координатор должен быть легитимным пользователем Квартуса, чтобы с одной стороны представлять структуру, в которой должны быть расположены файлы для удобства инсталляции, а другой стороны иметь возможность добывать ссылки на файлы. Очевидно, что я на такую роль не гожусь, т.к. с Квартусом никогда не работала и пользовательского доступа на сайт Альтеры не имею. Зато я замечательно гожусь в заливщики, поскольку со своими правами доступа могу организовать прямое скачивание файлов с сервера Альтеры на сервер нашего ftp. Такое скачивание идет значительно быстрее, нежели двухстадийный процесс, когда файл сперва скачивается на персональный компьютер, и только затем с него заливается на ftp. Тем более что межсерверный канал обычно шире, чем те, что выделяют провайдеры частным лицам. От стандартизации структуры папок предлагаю отказаться, т.к. в разных верcиях она бывает разная. Кроме того, сваливание всех документов в одну папку нецелесообразно, а весьма желательно, чтобы документ находился там, где он нужен. Например, документ Quartus Prime Standard Edition 18.1 Linux Updates.pdf отлично смотрится папке /Quartus_18.1/Standard/Linux/Updates/ для которой он и нужен, тогда как в общей куче его будет трудно найти.
-
C Днем Радио!
Xenia ответил Vasily_ тема в Встречи и поздравления
Праздничный вопрос по поводу схемы детекторного приёмника: :) Кто скажет, до какого напряжения (теоретически, всевозможными потерями пренебречь) зарядится конденсатор C1, если вместо телефона T подключить вольтметр с бесконечным внутренним сопротивлением), а вместо антенны подать от ГСС синусоидальное переменное напряжение с амплитудой U0 и частотой, равной резонансной частоте колебательного контура. Коэффициент трансформации считать равным единице. P.S Прошу простить - не могу догадаться, как на форуме нового типа написать нижний индекс у U0. -
STM32, CubeMX, HAL, GPIO_Input <-> GPIO_Output
Xenia ответил kv_addr тема в ARM, 32bit
Про HAL он свой ответ уже получил - только через функцию HAL_GPIO_Init(...). После ответа piroman'а про регистр MODER, я еще раз проверила и убедиласть этот регистр упоминается только в теле функций HAL_GPIO_Init(...) и HAL_GPIO_DeInit(). Альтернатива этому только в LL-макросах: LL_GPIO_SetPinMode(..) LL_GPIO_GetPinMode(...) И это всё.