这次实验弄明白1个问题:只要不按Reset键,下载程序时,Rockusb会自动出现在设备管理器中,如果按了Reset键或有其他状况才需要重新恢复Rockusb。
本次试验是为了验证开发板的声音处理能力。在Arduino中真是太方便了,只需要将元开办的工程例项导入开发项目中即可。本实验是直接采用1.8.0版,因此所有此开发板的实例都在系统中了,因此只需要将与Audio有关的.h的文档Include即可:
#include <Arduino.h>
#include "TF.h"
#include "Audio.h"
#include "lcd0713.h"
第一行是Arduino公共函数和宏。第二行是有关TF卡的处理函数和宏。第三行是与播放芯片模块相关的函数和宏。第四行不解释了。
变量定义改为:
//define Avr for Test
long js,val1,val0;
int dut0,dut1,duty,ddt0=1,ddt1=2,pwmdir0,pwmdir1,dis=0;
其中js程序中改为秒计数——反应音乐播放了多长时间;dis为播放歌曲次数计数。源程序中的语句直接加入到setup:
Audio.begin(AUDIO_SD);
if(Audio){Audio.playFile("\\0.MP3");dis++;}
将loop中加入:
if(Audio.getStatus() == AudioStop){
//if(i<5){i++;}else{i=0;}
//String playText="\\"+playMp3[i];
Audio.playFile("\\1.mp3");
dis++;
}
再改改显示部分,将之程序中的所有wait的延时之和为950mS就可以了,可能稍稍慢一点。结果见照片21。
问题:在loop中有两行注释了,原来想是录入TF卡中的歌曲有0~n.mp3首,由注释语句转成字符串进行顺序播放,结果Audio.playFile函数不认,在文件解析就报错"."问题,只好做罢,以后有时间在看看这些函数的解释状况改改。
结论:此开发板的音频解析不错,声音还原效果良好。
|