台式机尺寸相关信息整理

台式机尺寸相关信息整理

LIyu110FENG:

楼主,你好,想请教一下,我现在轮询切换4组差分输入,然后想把第3、4这2组差分输入需要改变PGA,然后读出来的数据时错乱的,如果单纯切换4组差分输入,不增加修改PGA又可以正常读取数据,这个是什么原因呢?

void ADS1256_SetDiffChannal(uint8_t _ch,uint8_t SPIx)

{

if (_ch == 0)

{

ADS1256_WriteReg(REG_MUX, (0 << 4) | 1,0x04,SPIx); /* 差分输入 AIN0, AIN1 ,PGA=16倍 */

}

else if (_ch == 1)

{

ADS1256_WriteReg(REG_MUX, (2 << 4) | 3,0x04,SPIx); /* 差分输入 AIN2, AIN3 ,PGA=16倍 */

}

else if (_ch == 2)

{

ADS1256_WriteReg(REG_MUX, (4 << 4) | 5,0x06,SPIx); /* 差分输入 AIN4, AIN5 ,PGA=64倍 */

}

else if (_ch == 3)

{

ADS1256_WriteReg(REG_MUX, (6 << 4) | 7,0x06,SPIx); /* 差分输入 AIN6, AIN7 ,PGA=64倍*/

}

}

void ADS1256_WriteReg(uint8_t _RegID, uint8_t _RegValue,uint8_t _RegValue1,uint8_t SPIx)

{

ADS1256_Send8Bit(CMD_WREG | _RegID,SPIx); /* 第1个命令:写寄存器的命令, 并发送寄存器地址 */

ADS1256_Send8Bit(0x01,SPIx); /* 第2个命令:寄存器个数 - 1, 此处写1个寄存器 */

ADS1256_Send8Bit(_RegValue,SPIx); /* 第3个命令:发送寄存器值 */

ADS1256_Send8Bit(_RegValue1,SPIx); /* 第4个命令:发送寄存器值 */

}

void ADS1256_ReadData(int32_t *p,u8 ADCx )

{

int32_t read = 0

相关推荐