各位大神好:最近用LDC1000做项目,在读寄存器值得时候读出来的都是255(每个寄存器都是这样),MCU是飞思卡尔的,之前和AD9854连接过,读写都是正常的,但实现在和LDC1000连接的时候读不出数据来,请问该怎么解决。
初始化MCU的SPI
void SPI_Intit(void)
{
// 功能描述: SPI初始化,设置波特率
SPICR1 = 0x5C; //Enable SPI 主模式 不产生中断 SSOE=1,MODFEN=0,~SS不能作为SPI模块功能使用
SPICR2 = 0x00; //MOSI 允许输出缓冲功能
SPIBR = 0x03; //
}
初始化LDC1000
void Init_LDC1000(){
spi_writeByte(LDC1000_CMD_RPMAX, RPMAX);
spi_writeByte(LDC1000_CMD_RPMIN, RPMIN);
spi_writeByte(LDC1000_CMD_SENSORFREQ, 0x94);
spi_writeByte(LDC1000_CMD_LDCCONFIG, 0x17);
spi_writeByte(LDC1000_CMD_CLKCONFIG, 0x02);
spi_writeByte(LDC1000_CMD_INTCONFIG, 0x02);
spi_writeByte(LDC1000_CMD_THRESHILSB, 0x50);
spi_writeByte(LDC1000_CMD_THRESHIMSB, 0x14);
spi_writeByte(LDC1000_CMD_THRESLOLSB, 0xC0);
spi_writeByte(LDC1000_CMD_THRESLOMSB, 0x12);
spi_writeByte(LDC1000_CMD_PWRCONFIG, 0x01);
}
Kevin Wen:
您好,
请问您的SPI时钟是多少?另外,请您先检查一下SPI总线的信号是否与LDC1000数据手册中6.6一节Timing requirement以及 Figure15的波形相符。
Kevin
user4644235:
回复 Kevin Wen:
SPI时钟是2MHZ,时序用示波器看过,都是正确的,写数据的波形也是对的,读数据之前的写地址也是对的,就是读的数据不对,波形也不对,波形是个锯齿波,请问怎么回事,我们还换过不同型号的单片机,现象是一样的,求分析,求解决!!!