-
- не без этого. у 51 периферия регистры 8 бит, а по смыслу пару
регистров образует "единый регистр " и тут (бывает) важен порядок
чтения/записи. Но зачем искать приключения там где можно "тупо"
считать целиком регистр модифицировать значение и записать обратно
? накой ляд приводить тип данных/регистра разной размерности? - Zoro(12.05.2023 00:37)
- Способ, порядок, момент записи могут иметь значение для модуля периферии. А приведение типа к другому размеру как раз меняет способ доступа. Был (volatile uint16_t) - доступ выполнялся ассемблерной командой доступа к слову, с выравниванием 16 бит. Переопределили тип в (volatile uint8_t) - компилятор, для того же адреса, использует другую команду ассемблера - для доступа к байту, с байтовым выравниванием. - Nikolay_Po(12.05.2023 00:46)
- не без этого. у 51 периферия регистры 8 бит, а по смыслу пару
регистров образует "единый регистр " и тут (бывает) важен порядок
чтения/записи. Но зачем искать приключения там где можно "тупо"
считать целиком регистр модифицировать значение и записать обратно
? накой ляд приводить тип данных/регистра разной размерности? - Zoro(12.05.2023 00:37)