8位的倒序
uint8 bin8_rev(uint8 data)
{
data=((data&0xf0)>>4) | ((data&0x0f)<<4);
data=((data&0xCC)>>2) | ((data&0x33)<<2);
data=((data&0xAA)>>1) | ((data&0x55)<<1);
return data;
}
16位的倒序:
static INT16U BitChange(INT16U us_DataIn)
{
INT16U us_Data = us_DataIn;
us_Data = ((us_Data & 0xFF00) >> 8) | ((us_Data & 0x00FF) << 8);
us_Data = ((us_Data & 0xF0F0) >> 4) | ((us_Data & 0x0F0F) << 4);
us_Data = ((us_Data & 0xCCCC) >> 2) | ((us_Data & 0x3333) << 2);
us_Data = ((us_Data & 0xAAAA) >> 1) | ((us_Data & 0x5555) << 1);
return (us_Data);
}