ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
1308796 Топик полностью
POV (11.05.2023 23:55, просмотров: 275) ответил Nikolay_Po на Архитектура ARM позволяет к одной и той же области памяти (к области ввода вывода периферии в частности) обращаться с разной разрядностью. Для некоторых регистров особо оговариваются условия разрядность доступа, а к некоторым (к большинству?) можно обращаться как угодно. Всё зависит от реализации периферийного модуля - как он реагирует на сигналы шины, к которой подключён. Так что доступ возможен с любой разрядностью, а вот реакция периферии на этот доступ зависит от
Тут можно пример привести не из АРМ... 

модуль PCA у силабсов 51х - очередность записи в регистровую пару для ШИМ критичен. Т.е. обращение к младшему байт останавливает работу компаратора, а к старшему - перезапускает. Сделать наоборот (например объявив sfr16 и к нему обращаясь) - ломает работу аппаратной части. Хотя такой кодер не знающий особенности чипа будет себя пыткой в грудь бить "я дарьтаньян, а все прочие сами знаете кто".

Так что "правильность программирования на СИ" заканчивается там где начнется особенность реализации аппаратной части.