|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2015-7-9 16:39:15
|
显示全部楼层
//********************************AD7705初始化程序*****************************//
void InitAD7705(void)
{
CS_0; //CS置为输出低电平,使能 AD7705
ResetAD7705();
TransmitterSpi(0x20); //通讯寄存器 //通道 1,下一个写时钟寄存器 自校准
TransmitterSpi(0x00); //时钟寄存器 //写时钟寄存器设置 2.459Mhz更新速率为20hz
TransmitterSpi(0x10); //通讯寄存器 //通道 1,下一个写设置寄存器
TransmitterSpi(0x40); //设置寄存器 //自校准,增益 16,双极 ,缓冲
delay_ms(5); //延时
//TransmitterSpi(0x21); //通讯寄存器 //通道 2,下一个写时钟寄存器 自校准
//TransmitterSpi(0x08); //时钟寄存器 //写时钟寄存器设置 2.459Mhz更新速率为20hz
//TransmitterSpi(0x11); //通讯寄存器 //通道 2,下一个写设置寄存器
//TransmitterSpi(0x60); //设置寄存器 //自校准,增益 16,双极,缓冲
//delay_ms(5); //延时
}
//******************************按照通道 1 读取******************************//
unsigned int ReadDataCH1(void)
{
unsigned int getData = 0;
unsigned int bufR[2];
//TransmitterSpi(0x10); //通讯寄存器 //通道 1,下一个写设置寄存器
//TransmitterSpi(0x60); //设置寄存器 //自校准,增益 16,双极 ,缓冲
//while(PIND&(1<<3)); //等待校准完成 READY 信号变为低电平
TransmitterSpi(0x38); //发送 0x38 读取 CH1 数据寄存器
while(PIND&(1<<3)); //等待 READY 信号变为低电平
bufR[0]=TransmitterSpi(0xFF); //转换结果高位
bufR[1]=TransmitterSpi(0xFF); //转换结果低位
getData=(bufR[0]<<8)|bufR[1]; //获得数据 16 位
return getData; //返回数据
}
|
|