Вход
Наше всё
Теги
codebook
PARTS
Поиск
Опросы
Закон
Четверг
21 января
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
ARM
AVR
PIC
PLD, FPGA, DSP
Кибернетика
Технологии
Схемы, платы, компоненты
ARM-контроллеры
/1042917
Топик полностью
VLLV
(09.10.2020 09:26, просмотров: 126)
в ответ на
Блин, да не выдумывайте проблемы на ровном месте. Всё проще пареной репы.
- автор:
VladislavS.
По поводу volatile эти примеры ничего не доказывают, т.к. неизвестна оптимизация и прочие условия. По поводу размерности - вот брошу все и сам проверю.
Ответить
Ответы
Чего? Вы видели определение регистров процессора в заголовочных фалах? Там стоит __IO aka volatile. И ни один компилятор не имеет права выкинуть/оптимизировать доступ к этим регистрам на любом уровне оптимизации. Мои примеры скомпилированы на максимальной оптимизации в IAR. Ну это же азы эмбеддерства, даже удивительно, что такие вещи объяснять надо.
-
VladislavS.
(
09.10.2020 10:13
)
Имею интересные впечатления от компилятора cosmic для stm8. Он просто не обращает внимания на volatile. Это логично, учитывая, что код генерит на манер "что вижу, то и пишу", хитрых оптимизаций нет. Но на код "var += 2;" выдаёт "INC mem INC mem", например. Зануды скажут "какой же это volatile!", а я скажу "ну и что, зато код компактный получается"...
-
SciFi
(
09.10.2020 10:26
)
И вдруг прерывание, в котором зачение проверяется на n или n+2...
-
s_h_e
(
09.10.2020 10:34
)
А за что настоящий ымбеддер свой хлеб ест? Опять же адуринщиков отпугивать хорошо.
-
SciFi
(
09.10.2020 10:58
)
Наверно, Вы не знаете перевода volatile - "летучая", то она есть, то ее нет. В вашем случае есть, в моем - нет ;)
-
VLLV
(
09.10.2020 10:22
)
Я много чего не знаю. Только проблема с SPI->DR у вас, а не у меня. 100% правильное решение вам показали, можете продолжать лясы точить.
-
VladislavS.
(
09.10.2020 11:16
)