This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC7554 输出问题

Other Parts Discussed in Thread: DAC7554

输出通道:0、1、2 更新一次,就输出了
输出通道:3 更新两次次,才能输出
一直查不出原因

void DAC7554_SetDA(u16 Channel,u16 Voltage)
{
    u8 i;
    u16 sdata;

    sdata = (0x8000 | ((Channel<<12) & 0x3000) | (Voltage & 0x0FFF));
    DA_CLK(ON);
    DA_DIN(OFF);
    Delay(30);
    DA_EN(ON);     //选通DA
    Delay(100);
    
    for(i=0;i<16;i++) 
    { 
        DA_CLK(ON);
        Delay(30); 
        if(sdata&0x8000){DA_DIN(OFF); Delay(30);} 
        else            {DA_DIN(ON);  Delay(30);}  
        DA_CLK(OFF); 
        Delay(30);
        sdata<<=1; 
    }
    
    Delay(100);
    DA_EN(OFF);    //取消选通AD 
    DA_DIN(OFF);
    Delay(1000);   
}

  • 最后一个通道, 会不会是通信时序中的最后一位问题引起的. 往往程序的最后一位容易出现波形不全或缺少, 延时没有了. 被循环结束后的其他信号屏蔽了等等情况. 纯属个人经验, 可以检查一下看看