您好,
我有一个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
