ADS1292R测试数据有对的有错的
用ADS1292R的内部测试信号,数据返回的有时是对的有时是错的,比如C0 60 00 00 74 FA 00 4C 77 C0 60 00 00 74 FA 00 4C 77 C0 60 00 00 74 FA 00 4C 77 C0 60 00 00 60 30 00 00 3A 47 80 26 46 E0 30 00 00 3A 47 80 26 46 E0 30 18 00 00 1D 2B 00 13 1C F0 18 00 00 1D 2B 00 13 1C F0 0C 06 00 00 07 4F 20 04 C8 2C 06 00 00 07 4F 20 04 C8 2C 06 03 00 00 03 A6 A0 02 63 DE 03 00 00 03 A6 A0 02 63 DE 03 00 00 03 A6 A0 02 63 DE 03 00 00 03 A6 A0 02 30 18 00 00 1D 3B 80 13 1F B0 18 00 00 1D 3B 80 13 1F B0 18 0C 00 00 0E 9D 20 09 90 98 0C 00 00 0E 9D 20 09 90 98 0C 06 00 00 07 51 20 04 C7 FC 06 00 00 07 51 20 04 C7 FC 03 01 80 00 01 D4 E4 01 31 E3 01 80 00 01 D4 ,每9个数据一个循环,前面是这样的,后面就没规律了。
没有太看明白, 能说明一下错在哪里呢
正确的发送方式应该是每次发九个数据,循环发送,前面三个数据是状态子,为C0 60 00,后面六个是测试信号,比如C0 60 00 00 74 FA 00 4C 77 C0 60 00 00 74 FA 00 4C 77 ,但是很多数据不符合这个规律
我现在的问题是每三个SCLK就出现一个DRDY中断,而不是九个,因此数据发不完,九个数据只能发三个,这是怎么回事,求指导!
我用的ADS1292R,现在可以正确读写寄存器,但是问题是没连续发送模式配置有问题,本来是每发送九个数据DRDY拉低,但是现在是发送一个数据就拉低,不知道什么原因。还有是不是每次向芯片发送一个命令是不是可以立刻读出来,
void ADS1x9x_SPI_Command_Data(unsigned char Data)
{
unsigned char delayVar;
Set_ADS1x9x_Chip_Enable();
for (delayVar = 0; delayVar < 50; delayVar++);
Clear_ADS1x9x_Chip_Enable();
Set_ADS1x9x_Chip_Enable();
UCB0TXBUF = Data; // Send the data sitting at the pointer DATA to the TX Buffer
while ( (UCB0STAT & UCBUSY) );
delayVar = UCB0RXBUF;
for (delayVar = 0; delayVar < 150; delayVar++);
}