Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Пятница
22 ноября
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
ARM, RISC-V контроллеры
1005241
Топик полностью
SciFi
(17.05.2020 12:06, просмотров: 644)
ответил
RxTx
на
Я не вылизывал код, сейчас некогда и незачем этим заниматься. В данном случае это лайфхак: 1. При оптимизированном коде переменная существует в стеке и ее можно посмотреть дебаггером. 2. (теория) Некоторые реализации uart/usart требуют обязательного а. считывания статус-регистра. б. считывания гарантированно ДО чтения дата-регистра. в. Читать надо один раз. Для того чтобы обеспечить именно эти гарантии а-ля asm (а не вообще всегда) и убрать нежелательные оптимизации и
Я тоже когда-то не понимал, как работает volatile. Сейчас уже и вспоминать не хочется...
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้
Ответить
Volatile работает банально - компилятор никогда не "кэширует" её ни в регистрах, нигде, постоянно считывая и записывая обратно. Всё.
-
RxTx
(17.05.2020 12:17
)