/**************************************************************************** * 名 称:AD7708WriteRegister * 功 能:向AD7708寄存器写入 * 入口参数: * addr: 内部寄存器地址 * dat: 要写入的数据 * 出口参数:无 ****************************************************************************/ void AD7708WriteRegister(char addr,long dat) { SpiWriteData(addr); //写通信寄存器,通知下个操作:写addr寄存器 if(IsLong[addr]) //如果是16位寄存器, 7718则24位若移植要改if内语句 { SpiWriteData(dat>>8); } SpiWriteData(0xFF&dat); //写入低位数据 }
/**************************************************************************** * 名 称:AD7708ReadRegister * 功 能:从某内部寄存器读出数据 * 入口参数:addr:内部寄存器地址 * 出口参数:long,读出的数据 ****************************************************************************/ long AD7708ReadRegister(char addr) { char h = 0,l = 0; //高低字节数据 SpiWriteData(0x40|addr); //写通信寄存器,通知下个操作:读addr寄存器 if(IsLong[addr]) { h = SpiWriteData(0xFF); } l = SpiWriteData(0xFF); return ((unsigned int)h<<8)|l; }
void radio_hal_SpiWriteData(U8 byteCount, U8* pData) { SpiWriteData(byteCount, pData); }