主题中讨论的其他器件:ADS1220、
1. reg configre:uiADS1120_WrBuff[4]={ 0x08、0xC1、0xC5、0x80}; 电路是数据表中的图79。
2.我的代码如下:
TFQ改 ADS1220ReadData (void)//μ s
{
Int 数据;
U8温度数据;
/*将 CS 置为有效以开始传输*/
ADS1220AssertCS (1);
DELAY_us (20); // 之前是10us
/*发送命令字节*/
TempData = SPI2_ReadWriteByte (ADS1220_CMD_RDATA);
/*获取转换结果*/
// ADS1120
数据= SPI2_ReadWriteByte (0xff);
数据=(数据<< 8)| SPI2_ReadWriteByte (0xff);
/*符号扩展数据*/
IF (数据和0x8000)
data |= 0xff0000;
delay_us (20); // houjia
/*使 CS 无效*/
ADS1220AssertCS (0);
返回数据;
}
3.读取的寄存器值 等于写入值。 但是、当我修改 reg0 0xe8时、adcputput 不接近于零、它是1300。
连接传感器、ADC 值为2103、当改变传感器状态时、ADC 值会改变。它看起来像是在输入端口中加上一个偏移。