我在读取寄存处数据的时候,首先一下命令
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了。
Amy Luo:
您好,
您的读写时序是怎样的,建议用示波器测量一下DRDY、CS、SCLK、DIN、DOUT信号波形,与数据手册Figure61波形对比一下,看看哪里出了问题。
ming li50749:
回复 Amy Luo:
你好,就第一个寄存器读写不对,暂时不影响ad采样
haitao xu:
回复 ming li50749:
你的解决了吗?我也是第一个读取是0x25 而不是0xA5, 我配置是0xA5,每次都是读出来0x25
haitao xu:
回复 Amy Luo:
我也是第一个读取是0x25 而不是0xA5, 我配置是0xA5,每次都是读出来0x25,其他的寄存器都对,就是这个寄存器和默认值不一样!