[uquote="VladislavS",url="/forum/viewtopic.php?p=4713609#p4713609"]Во-первых, макросы - зло.[/uquote]
а категоричность, надо полагать, величайшая благодетель? В ядре линукса (6.x) свыше 20 тыс. макросов. макросы -- отличнейший инструмент в руках того, кто умеет ими пользоваться. ну а неумехе, что ни дай..
Во-вторых, в пределе я ничего не хочу знать о регистрах.
никто не неволит. периодически наблюдаю десктопных программистов, которые накатывают ртось и ваяют совершенно без оглядки на железо -- софтом, ногодрыгом, да как получится.
увлечение абстракциями -- оно порой довольно забавное. это все равно, как если бы хирург вдруг заявил, что он не желает вникать в строение организма, а хочет на некоем абстрактном уровне делать операции людям, слонам и рыбам одинаковым образом.
Понятные определения это вот так - выберется только то что существует в контроллере. И само установится.
смахивает на грёзы. "Создайте систему, которой сможет пользоваться дурак, и только дурак захочет ею пользоваться."
Добавлено after 1 hour 5 minutes 57 seconds:
[uquote="КРАМ",url="/forum/viewtopic.php?p=4713687#p4713687"]А зачем радиоинженеру работать программистом? У радиоинженера совершенно другие задачи. Поэтому он занимается либо чистой схемотехникой. либо схемотехникой и зависимым от нее кодом одновременно. Каждый должен делать свою работу. У нас все проекты схемозависимы. Поэтому есть очень негативный опыт использования чистых программистов.[/uquote]
насчет каких "чистых программистов" вы говорите в данном контексте, я примерно понимаю. осталось, разве что программистов 1С еще в эмбеде попробовать для полноты опыта. раз у вас радиоинженеры код пишут, то до 1С-схемотехников недалеко уж осталось. я к чему это?... если расслаивать программистов в эмбеде, то нижний уровень -- это firmware engineer, в ведении которого находятся регистры, биты, инициализация железа и все самое низкоуровневое. на втором уровне embedded software engineer -- ос, драйвера, протоколы. на третьем embedded software developer -- прикладник с эмбедерским уклоном. нету тут места радиоинженерам.
Добавлено after 26 minutes 5 seconds:
[uquote="Adrift",url="/forum/viewtopic.php?p=4713545#p4713545"]Подход с битовыми полями для volatile регистров делает настройку еще и чрезвычайно не эффективной, потому большинство производителей его не использует.[/uquote]
там периферийный блок описывается, как союз 32-битного целого и структуры. если писать в структуру, то доступ к каждому полю будет отрабатываться отдельно и это действительно целая портянка. если хочешь простое присваивание из трех ассемблерных команд, то используй 32-битную переменную. это довольно удобное и гибкое решение. я не очень понимаю, зачем они используют именованную структуру внутри союза. выгод совсем чуть, а громоздкость записи увеличивается.