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

 
 
> Как проверить значение бита в CodeVIsion?
andre583
сообщение Mar 15 2008, 21:15
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 7-03-08
Пользователь №: 35 720



Подскажите новичку, как проверить значение бита 0 или 1 с примером на Си
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sysel
сообщение Mar 15 2008, 21:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 3-07-07
Пользователь №: 28 852



Цитата(andre583 @ Mar 16 2008, 00:15) *
Подскажите новичку, как проверить значение бита 0 или 1 с примером на Си


Если речь идет о бите в порте то:

if (PINA.5){
чего-нибудь делаем в случае если 5й вывод порта А = 1
}

Если речь об проверке бита в переменной или в регистре каком-то то действем с использованием битовых масок.
Маски:
0x01 - bit 0
0x02 - bit 1
0x04 - bit 2
0x08 - bit 3
0x10 - bit 4
0x20 - bit 5
0x40 - bit 6
0x80 - bit 7

Например проверить бит 3 в переменной Value:

if (Value&0x08){
делаем что-то если бит 3й равен 1
}
......

if (!(Value&0x08)){
делаем что-то если бит 3й равен 0
}
Go to the top of the page
 
+Quote Post
Abckur
сообщение Mar 16 2008, 06:58
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 57
Регистрация: 14-03-08
Пользователь №: 35 904



Цитата(sysel @ Mar 16 2008, 00:29) *
Маски:
0x01 - bit 0
0x02 - bit 1
0x04 - bit 2
0x08 - bit 3
0x10 - bit 4
0x20 - bit 5
0x40 - bit 6
0x80 - bit 7


маски удобно получать сдвигом.

вот маска для любого бита (1 << BIT)
BIT - это номер нужного бита

Вот так использовать:

if (Value & (1 << 3)) {
делаем что-то если бит 3й равен 1
}
Go to the top of the page
 
+Quote Post
andre583
сообщение Mar 16 2008, 12:23
Сообщение #4





Группа: Новичок
Сообщений: 8
Регистрация: 7-03-08
Пользователь №: 35 720



Очень изящное решение. Спасибо!!!!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 13:42
Рейтинг@Mail.ru


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