// Set color void RGBdriver::SetColor(uint8_t Red,uint8_t Green,uint8_t Blue) { uint32_t dx = 0; dx |= (uint32_t)0x03 << 30; // highest two bits 1,flag bits dx |= (uint32_t)TakeAntiCode(Blue) << 28; dx |= (uint32_t)TakeAntiCode(Green) << 26; dx |= (uint32_t)TakeAntiCode(Red) << 24; dx |= (uint32_t)Blue << 16; dx |= (uint32_t)Green << 8; dx |= Red; DatSend(dx); }
/******* data processing ********************/ void DataDealWithAndSend(uint8_t r, uint8_t g, uint8_t b) { uint32_t dx = 0; dx |= (uint32_t)0x03 << 30; // The front of the two bits 1 is flag bits dx |= (uint32_t)TakeAntiCode(g) << 28; dx |= (uint32_t)TakeAntiCode(b) << 26; dx |= (uint32_t)TakeAntiCode(r) << 24; dx |= (uint32_t)g << 16; dx |= (uint32_t)b << 8; dx |= r; DatSend(dx); }