16+
Воскресенье
18 ноября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Dingo  (28.09.2018 05:21 - 28.09.2018 05:41) , в ответ на Когда событий станет больше, придется переписывать, но пока хватает с запасом автор: AlexG
Корявенько, конечно, но я делал так 
uint8_t заменить на что вам надо и "8" поменять на соответствующую ширину. Довести до ума бы хорошо, делюсь "как есть".
#define BIT_WIDTH 128

uint8_t bitStore[BIT_WIDTH/8];

bool TestBit( uchar bitNum) // 0..255
{
	uchar idx  = bitNum / 8;
	uchar bitN = bitNum % 8;
	return ( (bitStore[idx] & (1<<bitN))!=0 );
}


void WriteBit(uchar bitNum), char bitVal)  // 0..255,  == 0 | != 0
{
	uchar idx  = bitNum / 8;
	uchar bitN = bitNum % 8;
	if ( bitVal == 0) {
		bitStore[idx] &= ~(1<<bitN);
	} else {
		bitStore[idx] |=  (1<<bitN);
	}
}
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII