-
不错,正想学习学习。谢谢分享!
-
那接了电容后,另外一端接VDD跟接GND 有没什么差别?
-
我的是MMC SD卡,我知道怎么用spi初始化了,接下来是读数据,1,怎么判断是音频文件呢 2.从哪里开始读,到哪里结束 3.文件不可能一下子读完啊,那咋办呢? 4.假如我要播放下一首,下一首的地址怎么找?
我在网上找到挺多的,可是基本上都是51板的,用的也都是C语言编译的,我是用汇编的,C会一点。
-
可不可以边读卡里面的音频文件,边发送给解码芯片,就相当于他们是同步操作的。类似下面的想法:
1. 对Flash的操作,512字节在8Mbit/s的速率下,耗时仅仅0.5微秒左右。
2. VS1003内部有512字节的缓冲区,按照128kbps的播放速率,半个缓冲区至少可以播放30微秒。
操作步骤如下:
1. 为了能够及时响应VS1003的数据要求,需要先将数据缓冲到STM32的RAM中,即先从Flash读取一部分MP3数据到RAM中。然后写满VS1003的512字节缓冲,开始播放。
2. VS1003在有缓冲空闲时会产生中断请求,此时缓冲区中至少还能支撑30微秒。
如果此时SPI空闲,操作SPI,直接从RAM将数据写入VS1003
否则,等待SPI操作结束(最多1微秒),然后从RAM中将数据写入VS1003
3. 检查RAM中的MP3数据是否需要从Flash补充,如果需要,从Flash中读取MP3数据到RAM中。
4. 重复2,3直到播放结束。
以上只是比较粗略的过程,需要你自己进一步设计和规划。
-
谢谢,谢谢。我就是搞不懂,那个音频文件是先放在stm8 里面,然后再发送给sd卡的吗?
-
:) 嘿嘿,不错