ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
149989 Топик полностью
Alex B. (04.03.2009 17:58, просмотров: 550) ответил Vladimir Ljaschko на По большому счету сказать нечего, но уж очень эти универсальные макросы разрушают моск. Да и код растет. Разумно описать явными макросами весь доступ к периферийным регистрам (типа TOGGLE_LED через xor ), ну а биты в переменных ... ХЗ... Что мешает
Я там листинги поправил немножко (забыл указатель инициализировать). Даже в этом примере код растет на две инструкции. Если учесть, что в первом случае нужно запрещать прерывания - то так на то и выходит. А на самом деле объем кода не растет, а наоборот, уменьшается. Почему то многие никак не хотят понять, для чего это нужно. А нужно это именно для атомарного доступа к регистру. Забудь на время про битовые поля.
Разумно описать явными макросами весь доступ к периферийным регистрам (типа TOGGLE_LED через xor)
вы все делаете с самого начала, или все таки предыдущие наработки используете? Еще проблема может быть в том, что если описывать явными макросами на Си, то никто не даст гарантию, что компилятор при определенных обстоятельствах не сгенерирует неатомарный код.
Что мешает выделить разные переменные для передачи флагов из процесса в процесс?
это как? и как быть с прерываниями?
Может лучше про EI/DI вовремя подумать?
для RTOS это неправильно, и я написал почему.
Согласуйте импеданс!