AD7689是一片8通道16位AD芯片,通过SPI跟ARM9的9260SPI口通信连接。现在碰到如下问题,向AD7689写配置字时,用示波器抓的通信数据就是程序中设置的数据0xDC38,程序中调用该函数SPI_Write(AT91C_BASE_SPI0, AT91C_SPI_CS2, 0xDC38),CLK是16个脉冲正常,但是再调用读函数SPI_Read(AT91C_BASE_SPI0);读AD值时,数据为FFFF,MISO线电平一直为高,请问这是为什么?SPI通信是9260硬件自己控制的。问题二、AD7689可以回读配置字,但是要多发14个CLK,即AD数据+配置字共要30个CLK,但是SPI通信中,芯片自己只能产生16个,要怎样才能使SPI能产生30个CLK,回读写入的配置字?
请高手指点,等待中 |