while(1)
{
if( (key == '+') && (volume <= MAX_VOLUME) )
{
volume += 4;
AdjVolume(volume);
}
DMA2_play_init( (U32)WindowsXP_Wav, (U32)IISFIFO, sizeof(WindowsXP_Wav)/2);
while( done==0 )
{
}
done =0;
DMA2_play_close();
// delay(1);
}
这是主函数里的代码,CPU一只工作在while(done==0)里面,外面的音量控制不起作用,去掉里面的while(done==0),则导致DMA不工作,按你的说法应该是在while(done==0)里面进行按键操作,可while(1)里的操作就没办法了
|