已回答假定已回答

AD7124-8驱动问题

jack_zxx 在 2018-6-21 詢問的問題
最後回覆由Yaao於2018-7-2提供

谁有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;  

}

結果