请问最新H7的ADS1256驱动支持差分扫描吗
请问最新H7的ADS1256驱动支持差分扫描吗,以前F4标准库的是在ADS1256_StartScan(uint8_t _ucScanMode)里填0和1选择,H7版本的是在哪里修改单端和差分呀/*
*********************************************************************************************************
* 函 数 名: ADS1256_SetDiffChannal
* 功能说明: 配置差分通道号。多路复用。
* 形 参: _ch : 通道号,0-3;共4对
* 返 回 值: 8bit状态寄存器值的高4位
*********************************************************************************************************
*/
void ADS1256_SetDiffChannal(uint8_t _ch)
{
/*
Bits 7-4 PSEL3, PSEL2, PSEL1, PSEL0: Positive Input Channel (AINP) Select
0000 = AIN0 (default)
0001 = AIN1
0010 = AIN2 (ADS1256 only)
0011 = AIN3 (ADS1256 only)
0100 = AIN4 (ADS1256 only)
0101 = AIN5 (ADS1256 only)
0110 = AIN6 (ADS1256 only)
0111 = AIN7 (ADS1256 only)
1xxx = AINCOM (when PSEL3 = 1, PSEL2, PSEL1, PSEL0 are “don’t care”)
NOTE: When using an ADS1255 make sure to only select the available inputs.
Bits 3-0 NSEL3, NSEL2, NSEL1, NSEL0: Negative Input Channel (AINN)Select
0000 = AIN0
0001 = AIN1 (default)
0010 = AIN2 (ADS1256 only)
0011 = AIN3 (ADS1256 only)
0100 = AIN4 (ADS1256 only)
0101 = AIN5 (ADS1256 only)
0110 = AIN6 (ADS1256 only)
0111 = AIN7 (ADS1256 only)
1xxx = AINCOM (when NSEL3 = 1, NSEL2, NSEL1, NSEL0 are “don’t care”)
*/
if (_ch == 0)
{
ADS1256_WriteReg(REG_MUX, (0 << 4) | 1); /* 差分输入 AIN0, AIN1 */
}
else if (_ch == 1)
{
ADS1256_WriteReg(REG_MUX, (2 << 4) | 3); /* 差分输入 AIN2, AIN3 */
}
else if (_ch == 2)
{
ADS1256_WriteReg(REG_MUX, (4 << 4) | 5); /* 差分输入 AIN4, AIN5 */
}
else if (_ch == 3)
{
ADS1256_WriteReg(REG_MUX, (6 << 4) | 7); /* 差分输入 AIN6, AIN7 */
}
}
eric2013 发表于 2024-3-26 10:40
/*
**************************************************************************** ...
我想问下这个ADS1256_SetDiffChannal(uint8_t _ch)函数在哪里调用呀,是不是只要把ADS1256_ReadAdc 和 ADS1256_ISR中的ADS1256_SetChannal函数替换成ADS1256_SetDiffChannal(uint8_t _ch)就可以了 Ming104 发表于 2024-3-28 00:53
我想问下这个ADS1256_SetDiffChannal(uint8_t _ch)函数在哪里调用呀,是不是只要把ADS1256_ReadAdc 和 AD ...
对,是这样的。 eric2013 发表于 2024-3-29 09:48
对,是这样的。
你好,我再打扰你一下,我看到你的文章说1256最大速率是1000sps,意思是这个代码采样率最大就是1000sps吗,比如我用你的代码,配置成2000sps, ADS1256_CfgADC(ADS1256_GAIN_1, ADS1256_2000sps);实际采样率也只有1000sps吗?下面是原话:
93.4.7 ADS1256支持的采样率
ADS1256支持的采样率如下,这里特别注意,因为切换通道和读数据耗时 123微秒, 因此扫描中断模式工作时,最大速率 = DRATE_1000SPS。
页:
[1]