F103 IIS发送问题

2019-07-21 08:04发布

IIS和WM8978都确定配置没问题,但用轮询法怎么发送数据啊。I2S设置飞利浦模式、16位数据帧、11025采样率



                        while((SPI2->SR & 0x00000002) == 0);   //判断发送缓冲为空

                        if(SPI2->SR & 0x00000004)   //判断声道
                        {
                                SPI2->DR = (u16)(music[i+1]<<8)| music[i]; //music 十六位PCM数据,低字节在前
                        }
                        else
                        {
                                SPI2->DR = (u16)(music[i+1]<<8)| music[i];
                        }

                        i +=2 ;
                        if(i == 450560)
                        {
                               
                                i=0;
                                while(SPI2->SR & 0x00000080);
                                SPI2->I2SCFGR &= 0;
                        }



用上面程序去发,能听到调,但完全不是歌曲,请问轮询法是怎么写的,先不用中断和DMA。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。