Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Это неправильно, и мне на это сам разработчик AVR за рюмкой чая сетовал. Повелось это еще с AT90S1200, а работать с отдельными флагами никто не запрещает командами sbi и cbi
Отправлено
=AVR=
14 декабря 2006 г. 13:55
В ответ на:
На самом деле это правильно и очень распространено (в других МК). Если флаг в составе регистра, то такой подход даёт возможность работать с отдельными флагами, не влияя на другие.
отправлено <font color=gray>Дастун</font> 14 декабря 2006 г. 13:51
Составить ответ
|
Вернуться на конференцию
Ответы
Это правильно. Простейший пример - когда надо ОДНОВРЕМЕННО установить несколько бит порта вывода, не затрагивая остальные.
—
Дастун
(14.12.2006 14:30
80.237.24.51
,
пустое
)
in r16,port/ori r16, 10011011b/out port,r16. Дальше?
—
=AVR=
(14.12.2006 14:37
80.92.96.19
,
пустое
)
Если операция чтения-модификации-записи не атомарная, то в некоторых случаях эта конструкция ошибочна
—
Jura
(14.12.2006 14:42
62.118.51.2
, 65 байт)
На это и голова на плечах дана
—
=AVR=
(14.12.2006 14:44
80.92.96.19
,
пустое
)
Если вернуться к исходному вопросу
—
Jura
(14.12.2006 15:02
62.118.51.2
, 245 байт)
Операция типа "чтение-модификация-запись" часто требует много внимания - под какой-либо RTOS, например. Конечно, можно найти выход из любой ситуации, но обсуждаемый механизм сильно облегчает жизнь. Это правильно.
—
Дастун
(14.12.2006 14:41
80.237.24.51
,
пустое
)
В большинстве других МК (х51, PIC, dsPIC и т.д.) флаги прерываний прекрасно сбрасываются их СБРОСОМ, и прекрасно ставятся в "1" программно - и что, ЭТО неправильно?
—
=AVR=
(14.12.2006 14:47
80.92.96.19
,
пустое
)
(+)
—
Дастун
(14.12.2006 15:35
80.237.24.51
, 438 байт)
dsPIC новее некуда - два года от роду, а про "механизм" обращения к портам "современных" ARM, которым третий десяток лет, лучше не надо - большего изврата, пожалуй, не найти. И появилось там это потому, что изначально это ядро ну никак на МК-задачи не задумывалось, вот и пришлось городить огороды с кактусами
—
=AVR=
(14.12.2006 16:11
80.92.96.19
,
пустое
)
Когда их делали никто не думал о вытесняющей многозадачности.
—
=DDD=
(14.12.2006 15:04
87.249.57.212
, 121 байт)
Когда делают очередной МК, то должны думать прежде всего о том, как этот МК будет выполнять свои прямые обязанности, а не вытеснять многозадачности. В противном случае скоро для PIC10F придется на .NET и Java писать
—
=AVR=
(14.12.2006 15:10
80.92.96.19
,
пустое
)
Вы все еще юзаете ассемблер? Новый VS с поддержкой WinCE уже идет к вам!
—
=DDD=
(14.12.2006 16:54
87.249.57.212
,
пустое
)
:)))))
—
=AVR=
(14.12.2006 17:06
80.92.96.19
,
пустое
)
К тому идёт.
—
Дастун
(14.12.2006 15:37
80.237.24.51
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 3 в два раза:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru