串口接收音乐数据并播放的问题
项目中要实现从电脑串口助手发送一包数据,此数据是音乐文件,发送给stm32,存储到AT45DBFlash里,然后存到一定的页数后 ,在读出来送给vs1053播放,调试中遇到的问题是偶尔能写进去,也能读出来,但并不是每次都能成功,存储器有2000页,每页256个字节,我就固定让他写100页,不管外部的音乐文件多大,只存0.4*100KB,也即是40KB,但实际测试中,每接收256个字节为一包,然后将这包数据写入Flash,依次循环,但实际中发现有时候会不成功,我第一次写的歌曲a,第二次写歌曲b,但是 b没播出来,所以这个时候,还是建议用定时器中断的方式,来强制执行写入Flash里,也就是每几个毫秒查看中断,一报数据接收是否完毕,如果完毕,将buffer写进Flash里,结果证明还是可行的,但音质有所下降,貌似第一种方法写得很清楚,但偶尔会出现不成功的现象,at45dbFlash存储器不见得非常好使。
串口接受大数据还是开启定时中断处理较好。
最新评论