您好!
下面 是我用于测试 Arduino Mega 2560 v3和 ADS 8332之间的 SPI 通信的代码。
首先、我只是尝试读取 CFR 以建立通信。
我将获得"0"作为"Serial.println (SPI.transfer16 (0XC000));"命令的串行输出。
以下是我的电压:
VBD (引脚13)- 3.3V
VA (引脚14)- 5V
参考+(引脚15)- 3V
\RESET (引脚5)- 3.3V
代码:
#include
#include
#define CS 13.
#define CONVST 12.
int 数据;
void setup(){
SPI.beginTransaction(SPISettings(10000000、MSBFIRST、SPI_mode2));
SPI.begin();
Serial.begin(115200);
引脚模式(CS、输出);
digitalWrite (CS、HIGH);
digitalWrite (CS、low);
SPI.transfer16 (0xFFFF);
serial.println ("上载的 CFR");
digitalWrite (CS、HIGH);
delayMicroseconds (2);
digitalWrite (CS、low);
serial.println (spi.transfer16 (0XC000));
digitalWrite (CS、HIGH);
}
void loop(){
digitalWrite (CONVST、LOW);
delayMicroseconds (2);
digitalWrite (CONVST、HIGH);
delayMicroseconds (2);
digitalWrite (CS、low);
数据= SPI.transfer16 (0xD000);
digitalWrite (CS、HIGH);
serial.println (data);
延迟(1000);
}