您好、我正在尝试进行 SPI 通信。 ADC7066和 Arduino Uno 之间。 我将从外部电源为 CH1 (AIN1)提供2V 电压、但 获得有关 SDO 的一些随机数据。 我使用手动模式和 SPI 模式0。
连接:
| ADC7066 | 乌诺 |
| CS | 数字引脚10 |
| sdi | 莫西(D11) |
| SDO | MISO (D12) |
| CLK | CLK (D13) |
| 5V | 5V |
| AVDD | 3.3V |
| 错误1 | 2伏 |
Arduino 代码:
#包含
const int CS = 10;
uint32_t ADC_get (int CS);
#define DelayTime 2 //延迟,以秒为单位
空 setup(){
引脚模式(13、输出);//SPI SCK
引脚模式(11、输出);//SPI MOSI
引脚模式(12、输入);//SPI MISO
引脚模式(CS、输出);
digitalWrite (CS、HIGH);
SPI.begin();
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV2);
Serial.begin(9600);
}
void loop(){
uint8_t RD_REG = 0b00010000;
uint8_t Add = 0x11;
uint8_t 数据= 0x00;
digitalWrite (CS、LOW);
SPI.TRANSMIT (WR_REG);
spi.transfer (0b00010001);
SPI.Transfer (数据);
digitalWrite (CS、HIGH);
uint32_t data =(RD_REG)+(ADD)+(Data);//组合字节、32位至24位缩放
返回数据;
延迟(5000);
}

