现在wince 6.0和pxa310的系统下自己写了一个播放音乐的程序,在播放音乐中按下睡眠按键,机器进入了睡眠状态,当再次按下睡眠键,机器唤醒,但是会反复播放上次音乐最后一个buffer的内容:噹噹噹噹噹。。。
我在睡眠前关闭了dma output通道drsr[1] = ~(1U << 31),但是还是不行,不知道大家有没有类似的问题,给点提示吧!
你在睡眠时应该装播放器置一个暂停状态,反复播BUFF应该写一些调试信息,可以知道BUFF的状态
你的音乐数据放在什么地方?
如果放在SD卡上的话需要SD驱动做些特殊处理,在进休眠时不断电,回来后可以继续使用,可以在SD卡上拷贝数据,然后进Suspend/resume做测试,看数据能否继续传输。
放在Flash上也是一样,需要做上面的测试
如果Sleep回来不能继续传输数据的话有可能会出现这样的问题
另外你关DMA通道应该没有什么用吧,因为Resume回来后你又会把DMA通道打开的,正常的操作我们在系统进Sleep前也会把DMA关掉的