This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS8698:多个代码

Guru**** 2552730 points
Other Parts Discussed in Thread: ADS8698

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/596887/ads8698-exemple-code

部件号:ADS8698

您好,

我有一个ADS8698以获得±10 V的模拟输入,还有一个Arduino Uno用于在SPI通信中读取数据。  

我以前从未使用过SPI通信,所以您有没有关于这艘船的代码示例?  

实际上,我在与此设备通信时遇到了问题。 当我尝试改变输入时,我的输出保持不变。

读取频道之前,我是否应该配置某些内容?

我的Arduino代码如下所示:

##########################################

#include <SPI.h>

字节Result1 = 0;
字节Result2 =0;
字节Result3 = 0;
字节结果4=0;
字节结果5=0;

const int end_while = 6;

void setup()

 Serial.begin(25万);
 while (!Serial){;};

 SPI.begin();
 SPI.beginTransaction(SPISettings(1.4万,MSBFIRST,SPI_Mode2);

 pinMode (end_while,输入);
 pinMode (SS,输出);

 DigitalWrite (SS,低);// P47
 SPI.transfer (0x85);//重置
 SPI.transfer (0x00);
 SPI.transfer (0x0000);
 SPI.transfer (0x0000);
 SPI.transfer (0x0000);
 DigitalWrite (SS,高);

}

void loop(){

 DigitalWrite (SS,低);// P47
 SPI.transfer (0xC0);// voie0
 SPI.transfer (0x00);
 SPI.transfer (0x0000);
 SPI.transfer (0x0000);
 SPI.transfer (0x0000);
 DigitalWrite (SS,高);

 while (digitalRead (end_while)== low)
 {
  DigitalWrite (SS,低);

  Result1 = SPI.transfer (0x0000);
  Result2 = SPI.transfer (0x0000);
  Result3 = SPI.transfer (0x0000);
  result4 = SPI.transfer (0x0000);
  result5 = SPI.transfer (0x0000);

  DigitalWrite (SS,高);

  serial.println(Result1,bin);
  serial.println(Result2,bin);
  serial.println(Result3,bin);
  serial.println (结果4,bin);
  serial.println (结果5,bin);
  serial.println();
  serial.println();

 }
}

##########################################

请帮帮我

此致

Thibaut  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Thibaut您好!

    在加电或重置过程中,命令寄存器的默认内容均为0,设备在进入任何操作模式之前等待写入命令(表6)。 有关将16位命令写入设备的典型计时图,请参见下图1。 当CS信号变高时,设备会在该特定数据帧的末尾执行命令。 我将向您发送一封电子邮件,其中包含此设备系列的示例代码。

    谢谢(敬上)

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Dale,

    感谢您的回答。
    我在数据表中看到,前16位是ADS的指令。 然后,在CS的下一个秋季前执行此指令,ADS响应将在接下来的18位上执行。
    现在已经很清楚了。

    今天上午我终于解决了我的问题,我的羊上有一个短路,这是我很难与ADS交流的原因。

    此致

    Thibaut