189 похожих чатов

День добрый. Я, наверное глупый вопрос задам, но кто как

поступает вот с такой задачей.
Вот есть программа которая работает по принципу фоновый цикл + прерывания. У меня есть переменная, которая изначально планировалась использоваться в фоне, а потом вот мне взбредет её использовать в прерывании. Есть какие ни будь способы это дело предусмотреть не используя volatile повсеместно? На первый взгляд на ум приходит только отключение прерываний в месте где используются переменные, которые могут использоваться в прерывании.

9 ответов

18 просмотров

привет. ну вообще просто делают функции чтения/записи с остановкой и возобновлением прерываний, но настолько ли это тебе критично?

jon-pedro Автор вопроса
Александр Баракин
привет. ну вообще просто делают функции чтения/зап...

Критичность лишь в том, что могут кривые данные считаться, если по середине чтения произойдёт изменение

голову надо использовать не только для того, что бы в неё есть. почему тебя не смущают другие подобные ситуации, например были в переменной метры а ты решил там хранить километры?

jon-pedro Автор вопроса
Vyacheslav Olkhovchenkov
голову надо использовать не только для того, что б...

Немного не корректный пример, как мне кажется. Суть же в том, что если у меня данные хранятся разбито из-за разрядности и размера данных, то если я прочитаю первую часть данных, а потом изменю в прерывании, после чего вернусь обратно, то у меня будет половина старых бит и половина новых, что может быть критично

Andrey Ermakov
dis_irq;read;en_irq

либо функцию которая чет вернет когда данные точно готовы

А почему ты volatile не хочешь использовать то? Какие-то религиозные предпосылки? Ну и да, есть ещё такая штука, как примитивы синхронизации. Похоже пришло время почитать за них и их комбинацию с геттерами и сеттерами

Leonid Zaliubovskyi
А почему ты volatile не хочешь использовать то? Ка...

может там ide такая, что за исправление декларации деньги берет?

Vyacheslav Olkhovchenkov
может там ide такая, что за исправление декларации...

Умеешь заинтриговать, звучит как идея для стартапа

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта