谁有IO管脚模拟SPI时序,调通AD7124-8的驱动程序,发我一份,谢谢。
我用管脚写了SPI模拟程序,读写ID总是,数据总是0XFF。
/*****************************************************************************
函 数 名 : void AD7124write_8bit(unsigned char writeData)
功能描述 : 写一个字节数据到AD7124
输入参数 : 无
输出参数 :
返 回 值 :
*****************************************************************************/
void AD7124write_8bit(unsigned char writeData)
{
unsigned char j;
unsigned char data;
data = writeData;
Delay(DELAY_
tiME);
for(j = 0; j < 8; j++)
{
AD7124_SCLK_L;
if(data & 0x80)
{
AD7124_DIN_H;
}
else
{
AD7124_DIN_L;
}
Delay(DELAY_TIME);
AD7124_SCLK_H;
data <<= 1;
Delay(DELAY_TIME);
}
}
/*****************************************************************************
函 数 名 : unsigned char AD7795read_8bit(void)
功能描述 : 从AD7124的SPI总线读取一个字节, 在下降沿读取数据
输入参数 :
输出参数 :
返 回 值 : 读取的值
*****************************************************************************/
unsigned char AD7124read_8bit(void)
{
unsigned char readData;
unsigned char j;
readData = 0;
Delay(DELAY_TIME);
for(j = 0; j < 8; j++)
{
AD7124_SCLK_H;
Delay(DELAY_TIME);
AD7124_SCLK_L;
readData <<= 1;
if(AD7124_DOUT)
{
readData |= 1;
}
Delay(DELAY_TIME);
}
return readData;
}