Цитата(AlexandrY @ Aug 12 2014, 01:03)

Да пишу чтобы по принятой производителем мнемонике легче организовать поиск в мануале.
Ибо без мануала исходники инициализации периферии нет смысла даже открывать.
Если у вас в исходниках (в соответствующем хидере) продублировано описание регистров из мануала, то зачем мануал?

Опять же, поиск по исходникам обеспечивает IDE, не надо переключать внимание код<==>мануал.
Если правильно организовать имена, то автодополнение тоже очень помогает: пишу
FLASH->CR |= FLASH_CR_
, нажимаю комбинацию клавиш, вуяля, передо мной все нужные варианты.
Цитата(AlexandrY @ Aug 12 2014, 01:03)

Дело в том, что если вам пришлось менять позицию бита или маску во многих местах проекта да еще в нескольких проектах, то это уже катастрофа.
Это сбой в методологии.
Или банальная ошибка/опечатка. Скажете, с вами такого не бывает? Значит вы второй такой уникум в мире (после меня

)
Цитата(AlexandrY @ Aug 12 2014, 01:03)

После каждой новой строчки в процедурах работы с периферией у меня следует немедленное тестирование.
Ну это уже совсем "что-то малоправдоподобно"

. К тому же, не все ошибки можно быстро выявить тестированием.
Цитата(AlexandrY @ Aug 12 2014, 01:03)

Как тут может оказаться неправильный бит?
Это может оказаться только по причине плохого качества документации.
Да, бывают ошибки в документации. И тут ваш подход в пролёте - вам придётся исправлять во многих файлах. Причём поиск будет возможен только по комментарию (мнемоника-то только там), и ничто не может гарантировать, что комментарий соответствует значению. Этого даже тестирование после каждой строчки не выявит.
Я же исправлю в одном хидере, и всё. Причём найду нужный дефайн безошибочно, потому что в его имени есть мнемоника от производителя.
Цитата(AlexandrY @ Aug 12 2014, 01:03)

Но если почувствовали подвох в документации то уж будьте уверены перепроверите все свои макросы, и вот тогда встанет в полный рост проблема избыточных дифайнов.
И это более реалистичный сценарий, чем какой-то перепутанный бит.
Какие-такие "все макросы"? Один дефайн, в одном файле. А вот вы помучаетесь.
Цитата(AlexandrY @ Aug 12 2014, 01:03)

Эт мимо, исходники нужны человеку. А человеку чем больше избыточность тем лучше работает память.
Во-первых, память не бездонна. Во-вторых, незачем забивать её несущественными деталями. Номер бита - информация лишняя. Мне нужно взвести/сбросить бит разрешения работы (EN) в регистре BDCR, я просто пишу RCC->BDCR |= RCC_BDCR_RTCEN. И мне неважно, какой номер у этого регистра.
Цитата(AlexandrY @ Aug 12 2014, 01:03)

Вот в эти байки я и не верю, якобы хидеры заменяют мануал.
Если перепишете всё из мануала в хидер, то почему нет?

Цитата(AlexandrY @ Aug 12 2014, 01:03)

Сопровождение тоже этакий миф. Удобство сопровождения кому. Стороннему программисту?
В первую очередь себе. Удобства сопровождения я описал уже несколько раз.
Цитата(AlexandrY @ Aug 12 2014, 01:03)

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