LINUX.ORG.RU

История изменений

Исправление COKPOWEHEU, (текущая версия) :

Я сомневаюсь что этим кодом хоть кто-то будет пользоваться в реальности. Он платформо-зависим, криво оформлен и написан только чтобы попонтоваться знанием битбанда и опкодов ассемблера. Ну и ужиманием бинарника до минимума.

В реальности все это не нужно. А нужны сопровождаемость, читаемость и универсальность. Для чего вместо магических констант используют именованные, для чего инициализацию применяют во всех местах, даже там, где она не нужна, для чего документируют неочевидные места.

Правильней инициализировать периферию, как это делают люди:

PERIPH->REGISTER = VALUES;

Для большинства периферии надежнее через AND/OR:

PERIPH->REGISTER |= VALUES;

А то вдруг я порты в одном месте настраиваю, а какой-нибудь SPI в другом. Не надо чтобы они конфликтовали. А то, что вместо одной инструкции получается три - плевать. Тем более на этапе инициализации, когда нет требований к скорости.

Исправление COKPOWEHEU, :

Я сомневаюсь что этим кодом хоть кто-то будет пользоваться в реальности. Он платформо-зависим, криво оформлен и написан только чтобы попонтоваться знанием битбанда и опкодов ассемблера. Ну и ужиманием бинарника до минимума.

В реальности все это не нужно. А нужны сопровождаемость, читаемость и универсальность. Для чего вместо магических констант используют именованные, для чего инициализацию применяют во всех местах, даже там, где она не нужна, для чего документируют неочевидные места.

Правильней инициализировать периферию, как это делают люди:

PERIPH->REGISTER = VALUES;

Для большинства периферии надежнее через AND/OR:

PERIPH->REGISTER |= VALUES;

Исходная версия COKPOWEHEU, :

Я сомневаюсь что этим кодом хоть кто-то будет пользоваться в реальности. Он платформо-зависим, криво оформлен и написан только чтобы попонтоваться знанием битбанда и опкодов ассемблера. Ну и ужиманием бинарника до минимума.

В реальности все это не нужно. А нужны сопровождаемость, читаемость и универсальность. Для чего вместо магических констант используют именованные, для чего инициализацию применяют во всех местах, даже там, где она не нужна, для чего документируют неочевидные места.