您好,我用DSP2812读写ADS1298R,但是spi一直写不进去寄存器,不知道是为什么?这是我读写的程序。
void writeREG(Uint16 valu)
{ SpiaRegs.SPITXBUF=valu;
while(SpiaRegs.SPISTS.bit.INT_FLAG!=1)
{}
SpiaRegs.SPIRXBUF=SpiaRegs.SPIRXBUF;
}
unsigned int dataread(void)
{Uint16 data;
SpiaRegs.SPITXBUF=0x0000;
while(SpiaRegs.SPISTS.bit.INT_FLAG!=1)
{}
data=SpiaRegs.SPIRXBUF;
return(data);
}
发送完寄存器的值之后,用读寄存器指令读寄存器的值一直读不出来,连ID寄存器都读不出来,请教是怎么回事啊?
user1903444:
我觉得这是SPI的问题,如果东西写进去了,你测下drdy信号频率是不是和你设置的一样,
Van Yang:
你好,请参考手册40到42页描述。读写都要先写操作码。