По AVR вопросец, Как проще всего инвертировать один бит в порту, не зацепив при этом флаги, а то чето крыша едет и простого решения никак не найду.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
pashtet
09 июня 2004 г. 13:59
-
Составить ответ
|||
Конференция
|||
Архив
Ответы
Запихай SREG в стек, сделай инверсию бита любым способои, восстанови SREG (дешево и сердито), а ежели хочется минимумом команд,то чтением порта и "скипами".
—
Assm
(09.06.2004 15:58,
пустое
)
Стека нет это тини 15, но энто не беда, можно и пром.реристры использовать, но это сильно усложняет дело, время тут тоже сильно ограничено
—
pashtet
(09.06.2004 16:40,
пустое
)
Ответ:
—
Уэф
(09.06.2004 15:21, 200 байт)
Бррррррр разумеется не := а просто = (ненавижу паскалаль!!!)
—
Уэф
(09.06.2004 15:41,
пустое
)
Ответ:
—
ПАВЕЛ
(09.06.2004 14:16, 145 байт)
опечатка, так лучше :-)
—
ПАВЕЛ
(09.06.2004 14:19, 85 байт)
А нафига порт читать? sbis sbic на что?
—
Уэф
(09.06.2004 15:20,
пустое
)
ну как-же ;О)...
—
=mse=
(09.06.2004 15:26, 182 байт)
по тактам больше зато регистр трогать не надо-->
—
Уэф
(09.06.2004 15:36,
пустое
,
ссылка
)
Варианты! Кто как хочет, так и ... пишет! ;-)
—
ПАВЕЛ
(09.06.2004 15:45,
пустое
)
В Вашем есть определённый плюс...
—
=mse=
(09.06.2004 16:02, 85 байт)
Вариантов много, всё зависит от постановки задачи и обстоятельств её решения! ;-)
—
ПАВЕЛ
(09.06.2004 16:14,
пустое
)
одобрям ;О)
—
=mse=
(09.06.2004 15:37,
пустое
)
ну и ещё одна ;О)
—
=mse=
(09.06.2004 14:48, 17 байт)
ага, торопился ;-)
—
ПАВЕЛ
(09.06.2004 14:54,
пустое
)
Спасибо теска, ща попробую
—
pashtet
(09.06.2004 14:24, 1 байт)
Всегда рад помочь ;-)
—
ПАВЕЛ
(09.06.2004 14:35,
пустое
)
просто и не выйдет. in r16, port; ldi r17, mask; eor r16, r17; out port, r16
—
DASM
(09.06.2004 14:10,
пустое
)
Ответ:
—
pashtet
(09.06.2004 14:21, 17 байт)
а..ну значит неверно
—
DASM
(09.06.2004 14:43,
пустое
)
можно и с битовыми операциями пободаться, но команд будет не меньше.
—
bialix
(09.06.2004 14:16,
пустое
)
Если на С, то например PORD ^= 0x01; инвертирует первый бит.
—
miv
(09.06.2004 14:10,
пустое
)
какие флаги?
—
итить
(09.06.2004 14:06,
пустое
)
(Порт) XOR ((Порт) AND (Маска)) ?
—
MayName
(09.06.2004 14:06,
пустое
)
А не много действий ? :-)
—
miv
(09.06.2004 14:14,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru