/*******************************************************************************
* description:
* In :
* Out :
* 2020/06/25 YXS
*******************************************************************************/
static void RF_Tx( u16 addr, u16 data )
{
/* ---- 整成3B的数组 ---- */
static u8 arr[3];
/* ---- 数据先发,所以放低地址【little】 ---- */
arr[2] = (u8)(data & 0x00FF);
/* ---- 然后发低地址[1] ---- */
arr[1] = (u8)(addr & 0x00FF);
/* ---- 最后发高地址 ---- (注意先发地位)*/
u8 tmp = (u8)((addr & 0xFF00) >> 8);
tmp |= (1 << 6)
arr[0] = tmp;
}
typedef struct _BitArr_t
{
u8 data; /* LSB */
u8 LSB;
u8 MSB : 4;
u8 mode : 4;
u8 unused; /* MSB */
}BitArr_TypeDef;
static BitArr_TypeDef BitArr;
static u32 tmp_arr = 0x12345678;
static void test_func( void )
{
memset(&BitArr, 0, sizeof(BitArr_TypeDef));
BitArr.data = tmp_arr >> 8*0;
BitArr.LSB = tmp_arr >> 8*1;
BitArr.MSB = (tmp_arr >> 8*2) & 0x0F;
BitArr.mode = ((tmp_arr >> 8*2) & 0xF0) >> 4;
// BitArr.data = 1;
// BitArr.LSB = 2;
// BitArr.MSB = 3;
// BitArr.mode = 4;
if(BitArr.data){
;
}
}