[an error occurred while processing this directive] [an error occurred while processing this directive]
если имеется ввиду битовый массив, попробуй так (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено 05 марта 2002 г. 20:11
В ответ на: Как удобнее сделать работу с битами в IAR System 2.31c, чтобы не конкретизировать место положение байта и битовая организация была структурой. Чтоб обозвать его: #define ..., и просто присваивать ему значение 1 или 0? отправлено Sergey 05 марта 2002 г. 13:28

char BitArr [...];

#define Bit(n) (BitArr[(n)>>3] & (1<<((n)&7)))
#define SetBit(n) { BitArr[(n)>>3] |= (1<<((n)&7)); }
#define ResetBit(n) { BitArr[(n)>>3] &= ~(1<<((n)&7)); }


void main()
{
......

if (Bit(10)) ResetBit(10)
else SetBit(10);
......
}




Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru