机器人车技术开发分享网
串口接收音乐数据并播放的问题
  • 首页 > 单片机ARM系列
  • 作者:小v
  • 2015年5月10日 19:02 星期日
  • 浏览:2681
  • 字号:
  • 评论:2
  •       项目中要实现从电脑串口助手发送一包数据,此数据是音乐文件,发送给stm32,存储到AT45DBFlash里,然后存到一定的页数后 ,在读出来送给vs1053播放,调试中遇到的问题是偶尔能写进去,也能读出来,但并不是每次都能成功,存储器有2000页,每页256个字节,我就固定让他写100页,不管外部的音乐文件多大,只存0.4*100KB,也即是40KB,但实际测试中,每接收256个字节为一包,然后将这包数据写入Flash,依次循环,但实际中发现有时候会不成功,我第一次写的歌曲a,第二次写歌曲b,但是 b没播出来,所以这个时候,还是建议用定时器中断的方式,来强制执行写入Flash里,也就是每几个毫秒查看中断,一报数据接收是否完毕,如果完毕,将buffer写进Flash里,结果证明还是可行的,但音质有所下降,貌似第一种方法写得很清楚,但偶尔会出现不成功的现象,at45dbFlash存储器不见得非常好使。

    串口接受大数据还是开启定时中断处理较好。

      您阅读这篇文章共花了:  
    二维码加载中...
    本文作者:小v      文章标题: 串口接收音乐数据并播放的问题
    本文地址:http://blog.cvosrobot.com/?post=120
    版权声明:若无注明,本文皆为“机器人车技术开发分享网”原创,转载请保留文章出处。

    串口接收一包数据,写flash 的时候,串口还是有下一包的数据过来 会不会有影响。为什么用定时器中断查询一包数据是否接受完而不是计数器计数? 请指点
    @木头猫:有影响的,写的速度要快,否则没写完buffer就更新了,或者用两个buffer,接收的和写的不冲突,计数器 也行 ,定时器是在查有没有数据再发
    返回顶部| 首页| 手气不错| 捐赠支持| 自定义链接| 自定义链接| 自定义链接| 手机版本|后花园

    Copyright © 2014-2017 机器人车技术开发分享网   京ICP备14059411 Copyright 2014-2019 小v工作室 版权所有 All Rights Reserved

    sitemap