arduino外接dac8571问题求助
本帖最后由 嗨嗨海 于 2014-8-6 19:22 编辑最近在研究DA转换申请了一个DAC8571,并且参照葱头同学的帖子:arduino i2c的wire库使用求教 将代码下载到arduino中,没有输出。有没有大神可以帮助一下,我已经被它弄崩溃了。我将Vsense和Vref都尝试接地、接VCC、悬空,Vsense也尝试接Vout,不管我给什么信号输出不是0就是5V。DAC8571地址:
代码如下:
#include <Wire.h>
#define DAC8571 (0x9C >> 1)
void setup()
{
Wire.begin();
}
void loop()
{
Wire.beginTransmission(DAC8571);
Wire.write(0x0F);
Wire.write(0xFF);
Wire.endTransmission();
}
本帖最后由 嗨嗨海 于 2014-8-6 19:55 编辑
自己顶一下!原来是忘了写控制字……。连接方法A4——SDA,A5——SCL,Vref,VDD——Vcc,Vsense——Vout,A0——GND(如果接Vcc)。
正确的代码如下:
#include <Wire.h>
#define DAC8571 (0x98 >> 1)//DAC8571地址(A0接地)
int analogPin = 3; //观察Vout的输出
double x=0;
int val;
void setup()
{
Serial.begin(9600);
Wire.begin();
}
void loop()
{
Wire.beginTransmission(DAC8571);
Serial.println(DAC8571);//开始传输
Wire.write(0x10);//写控制字0x10
Wire.write(0x99);//写电压值0-FFFF
Wire.write(0x99);
Wire.endTransmission();//结束传输
Serial.println( Wire.endTransmission());
val = analogRead(analogPin); //从输入引脚读取数值
x=(val+1)*5/1024.00;
Serial.println(val); //显示读取的数值
Serial.println(":");
Serial.println(x);
}
留给需要的人吧! 十分感谢,我也弄了好几天了,谢谢
页:
[1]