реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> C8051F320, Отладочный набор
Sujan
сообщение Nov 28 2010, 12:46
Сообщение #16


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 13-02-07
Пользователь №: 25 330



Цитата(evsx1 @ Nov 27 2010, 13:26) *
Вот,в логике программы следующее:если лог ноль,то делаем x=X&1,ставлю &= не выполняет,ставлю =1,выполняет.тогда где вырождение?компилятор такое вырождение не принимает.Просто в данном конкретном примере я пока не понял разницы между &= и =,по идее нам надо установить только уровни,ну вот выполнил я побитовы и с одним битом,должн....
а вот теперь понял(пока писал,состояние X может быть ноль и тогда я получу 0,а в данном примере так и есть)


Вы судя по всему не правильно понимаете значение оператора &.
Если кратко, то для масок &(логическое И) используют для сброса конкретного бита в 0, не затрагивая остальные, например P2&=0xFE - сбросит бит 0 а остальные биты оставит неизменными (0xFE = 1111 1110b).
Для установки конкретного бита в 1 используется оператор | (логическое или), например P2|=0x01 - установит бит 0 в 1, а осталные останутся неизменными.

Однако в вашем случае можно написать всё ещё проще: P2_bit.P22 = P2_bit.P20; // без всяких IF smile.gif

Сообщение отредактировал Sujan - Nov 28 2010, 12:48
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th August 2025 - 19:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01356 секунд с 7
ELECTRONIX ©2004-2016