Как стать автором
Обновить
180
-7.4
Олег Артамонов @olartamonov

Товарищ страшный инженер

Отправить сообщение
А зачем?

Кому и с какой стороны в международной политике нужны в наше время какие-либо доказательства?

А кто сказал, что они их вообще ожидают?

Для начала, кто сказал, что истинной причиной выхода из договора о РСМД вообще является вот эта ракета, а не предчувствие возможной заварушки в Южно-Китайском море, где было бы очень неплохо в Японии и Южной Корее поставить что-нибудь непотопляемое, а то наиболее вероятный противник как раз активно готовится к тому, чтобы всё потопляемое — топить?

Да и вообще, почему бы благородным донам не позволить себе немного новых ракет?
При замыкании свободного пина на Vcc в микроконтроллере происходит, соответственно, включение или выключение реле


Я так понимаю, знакомство со словами «дребезг контактов» вам только предстоит.
Применение ЯО не рассматривалось как что-то неприемлемое все 50-е годы.
Астрокоррекция (и я так подозреваю, она всё-таки есть не на каждой голове, а только на автобусе) ещё и смотрит в какой-то достаточно узкий угол, десятки градусов.

И надо её не просто засветить, а засветить именно с этого направления.

И в результате всё равно подарки прилетят по инерциалке, разве что может промахнутся побольше.
А тогда разницы нет, что одна взорвется, что другая — если только не учитывать высоты взрыва


Действительно, какая разница — взорвётся у вас 300 кт в 600 м над головой или 10 кт в 60 км.

P.S. www.youtube.com/watch?v=BlE1BdOAfVc
Вашей глупостью вы меня совершенно точно не расстроите.

Вам в связи с чем так трудно осознать тезис «всё, что не написано в даташите — не гарантируется»?

У вас в даташите какая-либо «тепловая защита» упоминается на какой конкретно странице? Ах, она там не упоминается вообще? Ну тогда я уверен, что в случае чего понесённый вами материальный ущерб вам те инженеры лично возместят.
А если 3,6 В? А если температура +60 °С? А если новая ревизия ядра, в которой техпроцесс немного поменяли?

То, что вы запроектными нагрузками не вывели из строя один конкретный контроллер в один конкретный момент — не значит ничего, кроме того, что этот конкретный контроллер конкретно сейчас не умер.
LDRB.N или LDRB.W в явном виде, разумеется. И дело тут не в ошибках компилятора, а в том, что если вы не полагаетесь на использование им только нижних регистров, то надо либо все передаваемые в LDRB переменные надо привязать явно к конкретным регистрам, либо указать конкретную инструкцию LDRB — а то их в кортексе три разных.
Вопрос не в полноте информации, вопрос в том, что ST в своих чипах — не только в микроконтроллерах — очень непоследовательны в деталях реализации.

Вот здесь мы в одной только серии контроллеров для одного только элементарного параметра видим три варианта реализации, понять которые нельзя, их надо запомнить.
Во-первых, вот прямо в этом коде никаких «временных результатов» нет.

Во-вторых, если вы считаете, что ваш код всё описывает явно и не зависит от обновлений API и компилятора, то вы ошибаетесь.
Потому что через полчаса попыток разобраться, что там чему соответствует и как это всё декодировать, а также таскать с собой, в вашем сердце будет ярким пламенем гореть ненависть к отделу разработки ST Microelectronics.



И это мы ещё не дошли до попытки без натурных экспериментов выяснить, можно ли вообще по даташитам и RM установить, в каких конкретно процессорах таки есть GPIOG и GPIOF, а в каких нет (короткий ответ: нельзя).
Регистры GPIOG и GPIOF есть только в 144-ножечных корпусах, попытка постучать в них на других кристаллах кончается басфолтом.

Соответственно, перед постукиванием проверить, туда ли мы стучим — самый простой способ написания универсальной процедуры.
Видимо, работа с не-нативными данными (16 битными) в этой архитектуре существенно дороже по времени, нежели с родными (32 битными).


Да, всякий misaligned access, выборка полуслов и т.п. всегда дают небольшие накладные расходы.

Это везде проявляется, от системы команд (16-битные команды в ARM Thumb медленнее 32-битных) до неожиданной выгоды от использования в циклах и if'ах int вместо uint8_t.
Но чаще всего это защищённый вывод и напряжение на нём физически не может превышать рамки напряжения питания контроллера


Нет, как раз у STM32 практически все ноги, кроме входов АЦП, к 5 В толерантны. См. в даташите табличку с перечислением ножек, там у каждой стоит короткая аббревиатура — так вот, FT это толерантные к 5 В.
В STM32 такого ограничения нет, вы неправильно читаете даташит.

В даташите сказано лишь «при токе 20 мА напряжение логической 1 на выходе будет не менее чем Vdd — 1,3 В». Из этого никак не следует, что ток и напряжение не могут быть выше (в реальности при питании 3,3 В и комнатной температуре ток короткого замыкания там получается миллиампер сорок).

Вообще если в даташите нигде в характеристиках GPIO нет в явном виде строки типа «short circuit current limit», то никаких оснований считать, что GPIO обязан пережить коротыш, нет.
Определение объёмов ОЗУ, флэша, EEPROM, наличия периферии на лету.

Берём, например, STM32L1. У него после старта надо все ножки вручную перевести в режим аналогового входа.

Вот как определить, «все» — это какие конкретно, если у нас одна и та же прошивка работает на нескольких моделях контроллера с разным числом портов?
Никакого. Но в ближайшие лет десять-двадцать этот API никуда не денется.
Компилятор к инструкции «ldrb r3, [r0]» никакого отношения не имеет и ничего в ней использовать не может — в ней вообще компилировать нечего, это ассемблер.

Оптимизацию в связи с этим отключать не надо.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность