有什么关系

2019-07-26 15:49发布

我有个例程是关于5416和TLV320AIC23B芯片相连,并且通过5416的McBSP1口在I2S协议下向TLV320AIC23B芯片的DIN中写入数据到DAC输出到耳机的。(控制字是由McBSP0口通过SPI协议写入的)。main函数如下:
void main()
{  
   unsigned int i,temp;
           //int codeccode[]={20000,15000,10000,7500, 5000,2500,0,-2500,-5000,-7500,-10000,-15000,-20000};
           /*初始化系统*/
    cpu_init();
        /*打开codec数据接口*/
        codec_data = codec_open(CODEC_DATA);
        /*打开codec命令接口*/
        codec_command = codec_open(CODEC_COMMAND);

        while(1)
        {
                for(temp=5000;temp>0;temp-=100)
                {   
                        for(i=0;i<1;i++)
                        {   
                                if(MCBSP_XRDY(CODEC_DATA))  *(u16*)DXR1_ADDR(CODEC_DATA)=-400;      
                                delay(temp);
               
                                if(MCBSP_XRDY(CODEC_DATA))  *(u16*)DXR1_ADDR(CODEC_DATA)=400;      
                                delay(temp);
                              
                        }
                }
               
               
               
        }
        关键是while里的循环的那两句在if满足时,通过McBSP1口向音频芯片的DIN口写入数据-400和400并且各自延时了一段时间。这个写入的值和最后发出的声音的音调、音 {MOD}、响度有什么关系?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。