Для начала, кто сказал, что истинной причиной выхода из договора о РСМД вообще является вот эта ракета, а не предчувствие возможной заварушки в Южно-Китайском море, где было бы очень неплохо в Японии и Южной Корее поставить что-нибудь непотопляемое, а то наиболее вероятный противник как раз активно готовится к тому, чтобы всё потопляемое — топить?
Да и вообще, почему бы благородным донам не позволить себе немного новых ракет?
Астрокоррекция (и я так подозреваю, она всё-таки есть не на каждой голове, а только на автобусе) ещё и смотрит в какой-то достаточно узкий угол, десятки градусов.
И надо её не просто засветить, а засветить именно с этого направления.
И в результате всё равно подарки прилетят по инерциалке, разве что может промахнутся побольше.
Вашей глупостью вы меня совершенно точно не расстроите.
Вам в связи с чем так трудно осознать тезис «всё, что не написано в даташите — не гарантируется»?
У вас в даташите какая-либо «тепловая защита» упоминается на какой конкретно странице? Ах, она там не упоминается вообще? Ну тогда я уверен, что в случае чего понесённый вами материальный ущерб вам те инженеры лично возместят.
А если 3,6 В? А если температура +60 °С? А если новая ревизия ядра, в которой техпроцесс немного поменяли?
То, что вы запроектными нагрузками не вывели из строя один конкретный контроллер в один конкретный момент — не значит ничего, кроме того, что этот конкретный контроллер конкретно сейчас не умер.
LDRB.N или LDRB.W в явном виде, разумеется. И дело тут не в ошибках компилятора, а в том, что если вы не полагаетесь на использование им только нижних регистров, то надо либо все передаваемые в LDRB переменные надо привязать явно к конкретным регистрам, либо указать конкретную инструкцию LDRB — а то их в кортексе три разных.
Вопрос не в полноте информации, вопрос в том, что ST в своих чипах — не только в микроконтроллерах — очень непоследовательны в деталях реализации.
Вот здесь мы в одной только серии контроллеров для одного только элементарного параметра видим три варианта реализации, понять которые нельзя, их надо запомнить.
Потому что через полчаса попыток разобраться, что там чему соответствует и как это всё декодировать, а также таскать с собой, в вашем сердце будет ярким пламенем гореть ненависть к отделу разработки ST Microelectronics.
И это мы ещё не дошли до попытки без натурных экспериментов выяснить, можно ли вообще по даташитам и RM установить, в каких конкретно процессорах таки есть GPIOG и GPIOF, а в каких нет (короткий ответ: нельзя).
Видимо, работа с не-нативными данными (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 обязан пережить коротыш, нет.
Компилятор к инструкции «ldrb r3, [r0]» никакого отношения не имеет и ничего в ней использовать не может — в ней вообще компилировать нечего, это ассемблер.
Кому и с какой стороны в международной политике нужны в наше время какие-либо доказательства?
Для начала, кто сказал, что истинной причиной выхода из договора о РСМД вообще является вот эта ракета, а не предчувствие возможной заварушки в Южно-Китайском море, где было бы очень неплохо в Японии и Южной Корее поставить что-нибудь непотопляемое, а то наиболее вероятный противник как раз активно готовится к тому, чтобы всё потопляемое — топить?
Да и вообще, почему бы благородным донам не позволить себе немного новых ракет?
Я так понимаю, знакомство со словами «дребезг контактов» вам только предстоит.
И надо её не просто засветить, а засветить именно с этого направления.
И в результате всё равно подарки прилетят по инерциалке, разве что может промахнутся побольше.
Действительно, какая разница — взорвётся у вас 300 кт в 600 м над головой или 10 кт в 60 км.
P.S. www.youtube.com/watch?v=BlE1BdOAfVc
ria.ru/20190124/1549838083.html
Вам в связи с чем так трудно осознать тезис «всё, что не написано в даташите — не гарантируется»?
У вас в даташите какая-либо «тепловая защита» упоминается на какой конкретно странице? Ах, она там не упоминается вообще? Ну тогда я уверен, что в случае чего понесённый вами материальный ущерб вам те инженеры лично возместят.
То, что вы запроектными нагрузками не вывели из строя один конкретный контроллер в один конкретный момент — не значит ничего, кроме того, что этот конкретный контроллер конкретно сейчас не умер.
Вот здесь мы в одной только серии контроллеров для одного только элементарного параметра видим три варианта реализации, понять которые нельзя, их надо запомнить.
Во-вторых, если вы считаете, что ваш код всё описывает явно и не зависит от обновлений API и компилятора, то вы ошибаетесь.
И это мы ещё не дошли до попытки без натурных экспериментов выяснить, можно ли вообще по даташитам и RM установить, в каких конкретно процессорах таки есть GPIOG и GPIOF, а в каких нет (короткий ответ: нельзя).
Соответственно, перед постукиванием проверить, туда ли мы стучим — самый простой способ написания универсальной процедуры.
Да, всякий misaligned access, выборка полуслов и т.п. всегда дают небольшие накладные расходы.
Это везде проявляется, от системы команд (16-битные команды в ARM Thumb медленнее 32-битных) до неожиданной выгоды от использования в циклах и if'ах int вместо uint8_t.
Нет, как раз у STM32 практически все ноги, кроме входов АЦП, к 5 В толерантны. См. в даташите табличку с перечислением ножек, там у каждой стоит короткая аббревиатура — так вот, FT это толерантные к 5 В.
В даташите сказано лишь «при токе 20 мА напряжение логической 1 на выходе будет не менее чем Vdd — 1,3 В». Из этого никак не следует, что ток и напряжение не могут быть выше (в реальности при питании 3,3 В и комнатной температуре ток короткого замыкания там получается миллиампер сорок).
Вообще если в даташите нигде в характеристиках GPIO нет в явном виде строки типа «short circuit current limit», то никаких оснований считать, что GPIO обязан пережить коротыш, нет.
Берём, например, STM32L1. У него после старта надо все ножки вручную перевести в режим аналогового входа.
Вот как определить, «все» — это какие конкретно, если у нас одна и та же прошивка работает на нескольких моделях контроллера с разным числом портов?
Оптимизацию в связи с этим отключать не надо.