[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Битовые операции на Си:
Биты заменяются через '# define', принимая значения от 0 до 7, например:
#define PC_J2 0 // Вход 'Z': Джампер-2
#define PC_J3 1 // Вход 'Z': Джампер-3
#define PC_J4 2 // Вход 'Z': Джампер-4
#define PC_J5 3 // Вход 'Z': Джампер-5
#define PC_J6 4 // Вход 'Z': Джампер-6
#define PC_J7 5 // Вход 'Z': Джампер-7
#define PC_J8 6 // Вход '1': Джампер-8
#define PC_J9 7 // Вход '1': Джампер-9
Операции с битами:
Reg |= (1 << Bit) // Установить бит Проверка бит:
E-mail:
info@telesys.ru
Reg &= ~(1 << Bit) // Сбросить бит
b_RG_KNP &= ~( (1<
Инверсия бит, варианты:
bit=!bit или bit=~bit
bit^=1 или bit = bit ^ 1;
if( Reg & (1 << Bit) ) // Проверить бит
if( Reg & (~(1 << Bit)) ) // Проверить с маской на бит
if( Reg & (~( (1 << Bit1) + (1 << Bit2) ) ) ) // Проверить с маской на несколько бит
Ответы