/*****************************************************************************
FileName : flip.c
Function : 高效率的位翻轉程序
Author : mike
Email : [email protected]
Version : V1.0
Date : 2019-07-12
Note : 1個byte數據,從BIT(0)翻轉到BIT(7),比如11100000,翻轉後爲00000111
*****************************************************************************/
#define u8 unsigned char
IAR_CONST u8 flip_tab[16]={0x00,0x08,0x04,0x0c,0x02,0x0a,0x06,0x0e,
0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f};
u8 flip_bit(u8 dat) //keil測試26個時鐘週期
{
dat = flip_tab[(dat & 0xf0)>>4] | (flip_tab[dat & 0x0f]<<4);
return dat;
}