-
- В данном случае битовые поля структуры - это частный случай. Речь идет об атомарной модификации периферийного регистра или переменной Alex B.(909 знак., 04.03.2009 17:41)
- Не забывать про volatile и "проблемы во всей красе" не будет. - AlexBi(04.03.2009 17:45)
- и это правда. Главное, структуру специально volatile объявил, а указатель нет, а на предупреждение компилера забил Alex B.(1178 знак., 04.03.2009 18:24)
- По большому счету сказать нечего, но уж очень эти универсальные макросы разрушают моск. Да и код растет. Разумно описать явными макросами весь доступ к периферийным регистрам (типа TOGGLE_LED через xor ), ну а биты в переменных ... ХЗ... Что мешает Vladimir Ljaschko(177 знак., 04.03.2009 17:31)
- Я там листинги поправил немножко (забыл указатель инициализировать). Даже в этом примере код растет на две инструкции. Если учесть, что в первом случае нужно запрещать прерывания - то так на то и выходит. Alex B.(871 знак., 04.03.2009 17:58)
- Сама по себе неатомарность не порок Vladimir Ljaschko(1062 знак., 04.03.2009 18:22)
- До тех пор, пока не нарвешься Alex B.(728 знак., 04.03.2009 18:39)
- Первый раз я нарвался на грабли на 8080+таймер 21 год назад :) А усилия - да, проблема. - Vladimir Ljaschko(04.03.2009 18:52)
- До тех пор, пока не нарвешься Alex B.(728 знак., 04.03.2009 18:39)
- Сама по себе неатомарность не порок Vladimir Ljaschko(1062 знак., 04.03.2009 18:22)
- "xor" в С нет, а ^= компилируется по-разному. - AlexBi(04.03.2009 17:43)
- Я там листинги поправил немножко (забыл указатель инициализировать). Даже в этом примере код растет на две инструкции. Если учесть, что в первом случае нужно запрещать прерывания - то так на то и выходит. Alex B.(871 знак., 04.03.2009 17:58)
- Не забывать про volatile и "проблемы во всей красе" не будет. - AlexBi(04.03.2009 17:45)
- В данном случае битовые поля структуры - это частный случай. Речь идет об атомарной модификации периферийного регистра или переменной Alex B.(909 знак., 04.03.2009 17:41)