你好,TI的技术人员,ADS1248,我单独读取每一个通道,读取的数据都是OK的,现在我需要切换通道,轮询每个通道,就读取不到数据了,我在通道切换后,都有读取是否成功,start引脚一直置1的,而且我这个轮询间隔时间也不短,有800us,请问有可能是什么原因造成的呢?代码如下:
if (firstRun)//初始化一次
{
firstRun = 0;
SysCtlDelay(20);
InitDevice();
ADS1248SetStart(1);
InitSPI();
ADS1248AssertCS(0);
SysCtlDelay(1);
ADS1248SendResetCommand();
SysCtlDelay(1);
ADS1248SendSDATAC();
ADS1248SetIntRef(0);
ADS1248SetVoltageReference(0);
ADS1248SendSync();
SysCtlDelay(1);
ADS1248AssertCS(1);
}
//下面的程序是通道切换
ADS1248AssertCS(0);
SysCtlDelay(10);
ADS1248SetChannel(0, 0);
ADS1248SetChannel(1, 1);
SysCtlDelay(10);
P_PIN = ADS1248GetChannel(0);
N_PIN = ADS1248GetChannel(1);
SysCtlDelay(10);
ADS1248_CH0 = ADS1248ReadData();
SysCtlDelay(10);
ADS1248AssertCS(1);