Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Понедельник
25 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
ARM, RISC-V контроллеры
1037659
Топик полностью
VLLV
(18.09.2020 15:32, просмотров: 397)
ответил
teap0t
на
Я, собственно, именно из-за пестроты кода полез со всем этим разбираться. В тексте постоянно встречаются директивы указания разрядности. Причём мне непонятно, зачем надо заводить 16-разрядную переменную и постоянно указывать разрядность операций. Можно же взять 32-разрядную, работать с ней и только перед самой записью в регистр указать разрядность. Но я же должен убедиться, что всё правильно понимаю? Поэтому задаю вопросы. Приятно осознавать, что таки да, правильно понимаю.
Указание разрядности необходимо в целочисленной арифметике.
Ответить
Так для этого берём максимальный размер и работаем с ним. В периферийной библиотеке есть только адресная арифметика, и ей 32 разряда достаточно, или работа с битами, флагами, режимами. Здесь тоже перенос маловероятен или малозначим.
-
teap0t
(18.09.2020 16:53
)
Что такое "максимальный"? Размер не ограничивается шириной шины, а определяется нужным диапазоном/точностью вычислений. В примере внутри типизация до long long ( через ненужные переменные - для отладки).
VLLV
(197 знак., 18.09.2020 17:10
)