Post Go back to editing

AD7616的采样通道问题

Category: Software
Product Number: AD7616
Software Version: keil5

AD7616的采样通道使用问题
在AD7616设定采样通道时会同时使用某个A通道和某个B通道,此时采用并行传输的形式,那么所传输的数据在某一时刻是A通道的还是B通道的数据。
例如:
void AD7616_Init(void)
{
// Perform any necessary initialization for AD7616
GPIO_SetBits(RESET_GPIO, RESET_PIN); // Keep RESET high if needed
// 配置寄存器(示例)
WriteRegister(0x02, 0x04); // OSR = 8,使能 CRC
WriteRegister(0x03, 0x00); // 选择通道 V0A 和 V0B
WriteRegister(0x04, 0xFF); // 输入范围 ±10V
}
在下面程序中
void AD7616_ReadSamples(uint16_t *buf, uint32_t len)
{
for(uint32_t i=0; i<len; i++)
{
// 产生CONVST上升沿启动转换
GPIO_ResetBits(CONVST_GPIO, CONVST_PIN);
GPIO_SetBits(CONVST_GPIO, CONVST_PIN);

// 等待转换完成(BUSY变低)
while(GPIO_ReadInputDataBit(BUSY_GPIO, BUSY_PIN) == Bit_SET);

// 读取数据
GPIO_ResetBits(CS_GPIO, CS_PIN); // 片选使能
__nop(); __nop(); // 等待数据稳定
// 读取PB0引脚数据

buf[i] = GPIO_ReadInputData(DATA_GPIO)? 1 : 0;
GPIO_SetBits(CS_GPIO, CS_PIN); // 取消片选
}
}
此时所读取的数据到底是A0通道还是B0通道?

Thread Notes

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.