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。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>