TI论坛
直播中

王伟

8年用户 1553经验值
私信 关注
[问答]

ads1259读取初始数据与手册不相符合是怎么回事?


  • 我在读取寄存处数据的时候,首先一下命令
    ADS1259_Init_Short_Delay(DELAY_SHORT);
    ADS1259_WRITE(CMD_SDATAC);//Stop Read Data Continuous mode
    ADS1259_Init_Short_Delay(DELAY_SHORT);
    ADS1259_WRITE(0X20); //1st opcode, read from address 0x00
    ADS1259_Init_Short_Delay(DELAY_SHORT);
    ADS1259_WRITE(0X08); //2dn opcode, read 9 regs value
    ADS1259_Init_Short_Delay(DELAY_SHORT);

    但是读取的数据为:
    ADS1259_REG[0] = 0x25
    ADS1259_REG[1] = 0x8
    ADS1259_REG[2] = 0xc0
    ADS1259_REG[3] = 0x0
    ADS1259_REG[4] = 0x0
    ADS1259_REG[5] = 0x0
    ADS1259_REG[6] = 0x0
    ADS1259_REG[7] = 0x0
    ADS1259_REG[8] = 0x40

    第一个数据0x25和手册上面不相符合,手册上面是10XX0101b,请问这是怎么回事?谢谢~!!
    读取数据时候,我已经让reset引脚低电平200ms了。

回帖(2)

刘恩彤

2024-12-9 15:09:30
您的读写时序是怎样的,建议用示波器测量一下DRDY、CS、SCLK、DIN、DOUT信号波形,与数据手册Figure61波形对比一下,看看哪里出了问题。
举报

一说就是错

2024-12-9 18:07:08
从您提供的代码和读取到的数据来看,您在使用ADS1259读取寄存器数据时遇到了数据与手册不符的问题。以下是一些可能的原因和解决方案:

1. 时序问题:请确保您的代码中的延时(ADS1259_Init_Short_Delay)足够长,以满足ADS1259的时序要求。如果延时太短,可能会导致数据读取不准确。您可以查阅ADS1259的数据手册,了解具体的时序要求,并相应地调整延时。

2. 通信问题:请检查您的通信接口(如SPI)是否正确配置,以及是否与ADS1259的通信协议兼容。如果通信接口配置不正确,可能会导致数据读取错误。

3. 寄存器地址错误:请检查您的代码中的寄存器地址是否正确。根据您的代码,您尝试读取从地址0x00开始的9个寄存器值。请确保这个地址范围是您想要读取的寄存器。

4. 数据手册版本:请确保您使用的是最新版本的ADS1259数据手册。不同版本的数据手册可能会有所不同,导致数据读取结果与手册不符。

5. 硬件问题:如果以上原因都排除了,那么可能是您的ADS1259硬件存在问题。您可以尝试更换一个ADS1259芯片,或者使用其他设备进行测试,以排除硬件故障的可能性。

建议您根据以上可能的原因逐一排查,找到问题所在,并进行相应的调整。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分