Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
а в чем проблема?
Отправлено
NAUT
30 мая 2009, г. 13:03
В ответ на:
Неужели нет способа для АВР "атомарно" изменить пару бит порта без запрета прерываний? Ничего не приходит в голову.
отправлено пользователем
VasilyS
30 мая 2009, г. 12:41
Составить ответ
|
Вернуться на конференцию.
Ответы
Хотелось бы PB.5, PB.6 и РВ.7 менять бес промежуточных состояний (т.к. идет на внешний дешифратор). И чтобы независимо от других линий этого порта.
-
VasilyS
(30.05.2009, 13:28:23
80.92.96.25
,
пустое
)
чтобы не было "глитчей" на выходах дешифратора
-
koyodza
(30.05.2009, 18:27:41
77.123.0.129
, 273 байт)
Ещо чего! Лишняя нога дороже 20 команд. "Синхронность" достаточна на обычном дешифраторе.
-
VasilyS
(30.05.2009, 19:44:46
80.92.96.25
,
пустое
)
вначале нужно указать ЧТО для Вас дороже: синхронность или лишняя нога
-
koyodza
(30.05.2009, 20:06:21
77.123.0.129
, 333 байт)
Все срослось. Вопрос решен.
-
VasilyS
(30.05.2009, 20:13:36
80.92.96.25
,
пустое
)
А считать, поменять и записать почему не подходит. Прерывания запретить можно, если уж так надо.
-
Michael Klokov
(30.05.2009, 13:59:33
85.249.73.51
,
пустое
)
Можно? Хорошо, тогда я запрещу.
-
VasilyS
(30.05.2009, 14:01:18
80.92.96.25
,
пустое
)
:))) А вообще атомарных способов, к сожалению, нет. С сохранением остальных ног.
-
Michael Klokov
(30.05.2009, 14:08:42
85.249.73.51
,
пустое
)
Есть. Но на АВР нет команд XOR PORT,K
-
VasilyS
(30.05.2009, 14:10:17
80.92.96.25
,
пустое
)
т.е. максимум по быстродействию будет только IN TEMP, PORTA; EOR TEMP, MASK; OUT PORTA, TEMP
-
NAUT
(30.05.2009, 16:08:7
213.85.253.138
,
пустое
)
К сожаленью нельзя просто так. Чужие биты этого порта могут измениться в другом потоке ==> надо перед этим прерывания запрещать, что крайне нежевательно.
-
VasilyS
(30.05.2009, 16:48:50
80.92.96.25
,
пустое
)
А быстродействие не столь важно. Важно одновременность переключений, незахват прерываний, и независимость от других бит.
-
VasilyS
(30.05.2009, 16:52:57
80.92.96.25
,
пустое
)
это если инвертировать. просто изменить: in, s/cbr, out
-
nestandart
(30.05.2009, 16:20:57
79.235.142.93
,
пустое
)
Угу. Вот и про то же :)
-
Michael Klokov
(30.05.2009, 14:14:36
85.249.73.51
,
пустое
)
Все же для меги128 сделал :-) Альтернативными принудительными установками.
-
VasilyS
(30.05.2009, 14:40:35
80.92.96.25
,
пустое
)
Можно подробнее? :)
-
Michael Klokov
(30.05.2009, 15:05:47
85.249.73.51
,
пустое
)
Да дуракам везет. Нечаянно попал на выходы сравнения OC1A, B, C. А у них есть регистр ТССR1C, где биты FOC1A, B, C принудительно устанавливают выходы сравнения в заданное состояние. Одновременно и не касаясь других бит.
-
VasilyS
(30.05.2009, 15:13:48
80.92.96.25
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 69:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru