这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于ad芯片cs5532的输出问题,求助

共16条 2/2 1 2 跳转至
高工
2013-11-05 13:42:50     打赏
11楼
找到问题就好

菜鸟
2014-03-17 17:06:36     打赏
12楼
你是怎么解决的啊,我也是SDO一直是高电平

菜鸟
2014-03-17 17:11:26     打赏
13楼
输出一直是高电平 ffff,我很郁闷啊,在没有读数或者写数的时候一直是低电平啊

5532芯片的data bus在不读数的时候应该是低电平的,所以在开始读数前向芯片的DIN 脚送一个低电平。

这是怎么弄的


菜鸟
2014-03-17 17:52:03     打赏
14楼
大神能把你的修改对的程序贴出来吗?

菜鸟
2014-03-18 16:40:19     打赏
15楼
//read from the SDO void CS5532_Read_Data(void){    unsigned char i,j;    ADCS_L();    delay_us(2);    ADCLK_L();    delay_us(2);//     // data bus     ADDI_L(); // delay_us(2); // ADDI_H();    for(j=0;j<4;j++){       for(i=0;i<8;i++){          ADCLK_H();          delay_us(2);             Sample_buf[j]<<=1;          if(input(PIN_C4))             Sample_buf[j] |= 0x01;  //从SDO读取数据             else             Sample_buf[j] &= 0xfe;             delay_us(2);          ADCLK_L();          delay_us(2);       }    } }

菜鸟
2014-03-19 17:46:21     打赏
16楼

好的,谢谢大神,我试一试只是中间有屏蔽,我整理了一下,你看对不对

void CS5532_Read_Data(void)
{    unsigned char i,j;    
   ADCS_L();    
   delay_us(2);    
   ADCLK_L();   
   delay_us(2);//     // data bus    
   ADDI_L(); // 
   delay_us(2);  //
   ADDI_H();  
   for(j=0;j<4;j++)
   {      
    for(i=0;i<8;i++)
    {         
    ADCLK_H();       
    delay_us(2);           
    Sample_buf[j]<<=1;        
    if(input(PIN_C4))          
    Sample_buf[j] |= 0x01;  //从SDO读取数据          
    else             
      Sample_buf[j] &= 0xfe;          
      delay_us(2);          
      ADCLK_L();         
      delay_us(2);       
    }    
   } 
 }



共16条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]