中级会员
 
- 积分
- 436
- 金钱
- 436
- 注册时间
- 2017-3-28
- 在线时间
- 73 小时
|

楼主 |
发表于 2017-6-1 09:36:53
|
显示全部楼层
void AD7705_1_WriteByte(u8 Dst_Addr1)
{
CS1_LOW();
delay_us(20);
SPI1_ReadWriteByte(Dst_Addr1);
delay_us(100);
CS1_HIGH();
}
void Init_AD7705_1(u8 channel)
{
u8 i;
for(i=0;i<100;i++) //¶àóúá¬Dø32¸öDIN=1ê1′®¿ú¸′λ
{
AD7705_1_WriteByte(0xff); //3ÖDøDIN¸ßμçÆ½D′2ù×÷£¬»Ö¸′AD7705½ó¿ú
}
delay_ms(1); //
switch(channel) //í¨μàÑ¡Ôñ
{
case 1:
AD7705_1_WriteByte(0x20); //D′í¨Ñ¶¼Ä′æÆ÷£¬Ñ¡ÖDí¨μà1£» DRDY RS2 RS1 RS0 RW STBY CH1 CH0
//Ñ¡Ôñê±Öó¼Ä′æÆ÷£¬ 0 0 1 0 0 0 0 0
AD7705_1_WriteByte(0x0b); //D′ê±Öó¼Ä′æÆ÷éèÖøüDÂËùÂêÎa£o4.9152MHzê±Öó£¬200HZêy¾Yêä3ö¸üDÂËùÂê
AD7705_1_WriteByte(0x10); //D′í¨Ñ¶¼Ä′æÆ÷£¬Ñ¡ÖDí¨μà1£» DRDY RS2 RS1 RS0 RW STBY CH1 CH0
//Ñ¡ÔñéèÖüÄ′æÆ÷ 0 0 0 1 0 0 0 0
AD7705_1_WriteByte(0x44); //D′éèÖüÄ′æÆ÷£¬éèÖÃ3é×ÔD£×¼£¬ÔöòæÎa1£¬μ¥¼«DÔ£¬ÎT»o3壬ÂË2¨Æ÷1¤×÷
break;
case 2:
AD7705_1_WriteByte(0x21);
//Ñ¡Ôñê±Öó¼Ä′æÆ÷£¬ 0 0 1 0 0 0 0 1
AD7705_1_WriteByte(0x0b);
AD7705_1_WriteByte(0x11);
AD7705_1_WriteByte(0x44);
break;
default:
break;
}
}
u16 GetData7705_1(u8 channel)
{
u16 temp = 0;
u16 DataH = 0;
u16 DataL = 0;
switch(channel)
{
case 1:
Init_AD7705_1(1);
delay_ms(1);
AD7705_1_WriteByte(0x38);
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==1) //′øêy¾Y×¼±¸oà AdDrdy = 0
{
;
}
CS1_LOW(); //′ò¿aμúò»¸öADμÄÆ¬Ñ¡
delay_us(20);
DataH = SPI1_ReadWriteByte(0xff); //¶á衸߰Ëλêy¾Y
DataL = SPI1_ReadWriteByte(0xff); //¶áè¡μí°Ëλêy¾Y
delay_us(200);
CS1_HIGH(); //1رÕμúò»¸öADμÄÆ¬Ñ¡
DataH = DataH<<8;
temp = DataH|DataL; //×éoÏ3é16λμÄêy¾Y
break;
case 2:
Init_AD7705_1(2); //3õê¼»ˉμúò»¸öADμÄí¨μà2
delay_ms(1);
AD7705_1_WriteByte(0x39); //Ñ¡ÖDí¨μà1μÄêy¾Y¼Ä′æÆ÷¶á
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8)==1) //′øêy¾Y×¼±¸oà AdDrdy = 0
{
;
}
CS1_LOW(); //′ò¿aμúò»¸öADμÄÆ¬Ñ¡
delay_us(20);
DataH = SPI1_ReadWriteByte(0xff); //¶á衸߰Ëλêy¾Y
DataL = SPI1_ReadWriteByte(0xff); //¶áè¡μí°Ëλêy¾Y
delay_us(200);
CS1_HIGH(); //1رÕμúò»¸öADμÄÆ¬Ñ¡
DataH = DataH<<8;
temp = DataH|DataL; //×éoÏ3é16λμÄêy¾Y
break;
}
return temp; //·μ»Ø¶áè¡μ½μÄêy¾Y
} |
|