This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1263: DOUT和DRDY引脚输出信号是一致的吗,为什么单片机识别不到DRDY下降产生的中断信号?

Part Number: ADS1263
Other Parts Discussed in Thread: MSP430F149,

用示波器测ads1263信号发现DOUT和DRDY的波形是一样的,为什么写的waitfordrdy函数单片机会卡在 while(!g_DRDY_flag);用的单片机是MSP430F149

 P2.7 作为 DRDY 引脚:

volatile int g_DRDY_flag = 0;

void WaitForDRDY(void)
{
    g_DRDY_flag = 0;
    P2IFG &= ~BIT7;  // 清除 P2.7 的中断标志
    P2IE |= BIT7;    // 使能 P2.7 的中断

    while(!g_DRDY_flag);

    P2IE &= ~BIT7;   // 禁用 P2.7 的中断
    g_DRDY_flag = 0;
}

#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
    if (P2IFG & BIT7)
    {
        g_DRDY_flag = 1;
        P2IFG &= ~BIT7;  // 清除 P2.7 的中断标志
    }
}

  • 您好,

    DOUT/DRDY 有两个功能,一个是DOUT,一个是DRDY,DOUT/DRDY和DRDY的波形一样说明此时DOUT没有输出。

    为什么写的waitfordrdy函数单片机会卡在 while(!g_DRDY_flag);

    说明 g_DRDY_flag一直是0。g_DRDY_flag 是检测的 ADS1263 是DRDY 管脚吗?如果是的话,那就说明ADS1263 的 DRDY一直是低电平,ADS1263 的 DRDY一直是低电平不正常,您可以附上电路图我看下吗?

  • DRDY一直是低电平,ADS1263 的 DRDY一直是低电平不正常

    不是一直是低电平,波形图在上面发过,但是单片机对中断没有反应

  • 首先说明我们不对具体编写代码做支持,需要您自己验证上述代码的可行性。

    ADS1263数字供电电压DVDD是多少?看隔离器件是3.3V,这里需要电平兼容,也就是说ADS1263 DVDD需要3.3V供电。因为看DRDY信号幅值像是5V,所以请确认DVDD的电压是否与通信电平兼容。

    15脚时钟输入是接地了是吗?这里需要注意的是不可使用80MHZ 时钟频率,因为超出了规格范围:

    DRDY脉冲宽度多少?它应该为16 个1/fCLK。

  •  我想问下这句话是什么意思啊,是指DRDY这个引脚是全双工吗?

  • 不是指DRDY 引脚,是指SPI 通信接口。

    DRDY是输出管脚,用高电平变低电平指示数据转换已完成。

  •  这句话的意思是命令读取数据可能会被DRDY引脚影响吗?

    我把AIN0接2.5VAIN接地差分输入,为什么测出来电压是2.33V?跟2.5V差距较大

  • 看下D的位置在箭头所指处,在这里也就是未读取数据前,DOUT/DRDY管脚状态与DRDY管脚保持一致,如果发送SCLK开始读取转换结果了,那么DOUT/DRDY管脚状态就可能是高或低了。DRDY输出低表示AD转换完成可以读取转换数据了。