大家好。
我尝试在标准模式下与 ADS1220通信、但没有 DOUT/DRDY 引脚。 我设置寄存器并读取其值、接收有效结果。
现在、我尝试读取温度和电压。 寄存器如下所示:
#define DEFAULT_CONFIG_REG0 0b00000000 // AINP=AIN0、AINN=AIN1、增益1、PGA 启用
#define DEFAULT_CONFIG_REG1 0b00000100 //数据速率:20SPS、正常工作模式、连续转换模式、温度传感器禁用、烧毁禁用
#define DEFAULT_CONFIG_REG2 0b00010000 //内部2.048V 基准电压、同步50Hz 和60Hz 抑制、开关始终打开、IDAC 关闭
#define DEFAULT_CONFIG_REG3 0b00000000 // IDAC1禁用、IDAC2禁用、仅 DRDY
通用代码如下所示:
writeSingleRegister (1、default_config_REG1 &(1 << 1));
int temp = ReadData();
writeSingleRegister (1,default_config_REG1);
int 电压= ReadData();
void writeSingleRegister (uint8_t address、const uint8_t value){
//设置 CS 和其他变量...
SPI.transfer (WREG |(地址<2));
spi.transfer (value);
}
int32_t ReadData(){
//设置 CS 和其他变量...
SPI.transfer (RDATA);
//读取3个字节
}
不幸的是、我的代码 未收到任何内容。 变量 temp 和 voltage 均为高位。
我现在无法使用示波器或 LA 测试数据线、但所有这些数据读取似乎都存在一些问题。