Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
если несколько бит СБРОСИТЬ я имел ввиду..
Отправлено
Гарин
25 апреля 2008 г. 17:27
В ответ на:
а если несколько бит то: TWCR &= ~(1<<TWINT))~(1<<TWSTA)~(1<<TWEN); ?
отправлено <font color=gray>Гарин</font> 25 апреля 2008 г. 17:26
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ: а подумать ? ;)
—
Тумблер
(25.04.2008 17:46:18
194.186.242.78
, 106 байт)
Дурная привычка - совать куда ни попадя &= и |=, он приводит к двум лишним операциям и ненужному (а иногда и вредному) ЧТЕНИЮ i/o регистра. Так делать нужно только тогда, когда требуется сбросить ТОЛЬКО определенные биты, а остальные оставить нетронутыми, а если нужно сбросить ЭТИ биты в 0, а остальные - в 1, то TWCR = ~(((1<<TWINT))|((1<<TWSTA))|((1<<TWEN)))
—
MBedder
(25.04.2008 19:18:12
80.92.96.19
,
пустое
)
А я и не спорю. Сделано именно то, что сделано - сброшены конкретные биты и не тронуты все остальные.
—
Тумблер
(25.04.2008 22:15:13
194.186.242.78
,
пустое
)
Ответ: Пока попытаюсь просто запомнить! :) Спасибо!
—
Гарин
(25.04.2008 19:04:24
92.113.13.179
, 167 байт)
Она делает из единиц нули и наоборот
—
MBedder
(25.04.2008 19:19:12
80.92.96.19
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru