lzh电子论坛

欢迎来到lzh电子论坛:
如果您对电子技术感兴趣就加入我们吧!在这里互相交流互相学习!主要讨论的方向有:单片机,ARM,PCB板设计,FPGA,汇编,C/C++等方面。
-----lzh电子论坛
lzhbbs.forumotion.com
lzh电子论坛

电子的道路是孤独的,要懂得左手温暖右手,要懂得把debug当作快乐去欣赏,去享受,那样你才会成功...

欢迎访问lzh电子论坛。可通过【谷歌,SOSO,搜狗】搜索“lzh电子论坛”直接进入论坛。点击了解论坛详细制度


    DIYMP3的制作

    分享
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 26

    DIYMP3的制作

    帖子 由 Admin 于 2012-11-28, 2:25 pm

    在做DIYMP3的整个过程中遇到了一些问题,慢慢的,只要自己琢磨还是会解决的。一个DIYMP3的制作,刚开始就需要写一个简单的菜单,我感觉菜单界面是一个有人机界面作品必须要的。我是用结构体来写的菜单,我觉得挺好用的,所以这里分享给大家,主要代码如下:
    typedef struct
    {
    uint8 KeyStateIndex; //当前的状态索引号
    uint8 KeyDownState; //按下向下的按键后的索引号
    uint8 KeyUpState; //按下向上的索引号
    uint8 KeySureState; //按下确定
    uint8 KeyBackState; //按下返回
    void (*CurrentOperate)(); //当前状态需要执行的函数
    }MenuTab;

    一个结构体可以解决菜单的很多问题了。
    在就是SD卡是必须要搞的,文件级操作是这个的基础了。我借鉴的是振南的FAT,经过很多网友使用,znFAT已经相当的完整了,可以完成一些项目和作品。znfat操作也很简单,只需要提供扇区读写函数给FAT调用就好了,其他的就是定义所使用外部存储器的类型,SD卡还是U盘等,上面的东西设定好了之后再声明一个结构体,
    struct FAT32_Init_Arg *pArg;
    struct FAT32_Init_Arg FAT_Init_SD;
    struct FileInfoStruct OpenFileInfo;
    unsigned char Dev_No;
    pArg = &FAT_Init_SD;
    Dev_No = SDCARD;

    之后就是VS1003,其实VS1003基本操作很简单,就是读写寄存器,我想分享的是频谱,在读频谱的是要给VS1003写入一段代码,之后就可以读取频谱了,14个频段。具体代码太长这里就不贴上来了,在沁恒的网站上有相应的资料。

    彩屏是一个很纠结的问题,就是没有字库,刚开始我也没多考虑这个,只是觉得取模就好了。但是最后要大量显示文字和读取歌曲信息的时候就很要命了,这个取模简直弱爆了。最后在网上查了开始琢磨着字库,经过在网上各大论坛逛了几天找到了一个字库文件.bin文件。我开始尝试把这个文件放在SD卡里面,然后读取里面的数据显示。尝试了半天感觉可以,但是速度感觉很慢,这个就直接否定我要显示歌词,速度慢跟不上。字库一般论坛上很多,大家可以自己找找哦!按照我的用法用就好了。

    刚开始没显示一张图片都要用软件去取模,太麻烦了,开始解码BMP文件,这种格式的图片编码有一定规律,可以通过单片机解码然后去显示,实现了,现在方便多了,对于BMP文件的编码格式,可以浏览http://baike.baidu.com/view/7671.htm

    最后一个问题就是对于MP3文件编码的分析了,对于MP3编码我更喜欢的是ID3V2,这个编码对于单片机去分析有很大好处,它的信息都在文件的开头,读出来的时间花的少,ID3V1信息都在文件最后的128个字节,如果去读取花的时间要长很多。这里分享一个链接http://baike.baidu.com/view/66078.htm

    现在分享几个关键的资料,znFAT和代码!!!
    :bounce:
    附件
    znFAT.zip
    您无权下载这里的附件。
    (5 Kb) 下载11次
    所有模块的代码.zip
    您无权下载这里的附件。
    (18 Kb) 下载14次
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 26

    回复: DIYMP3的制作

    帖子 由 Admin 于 2013-04-28, 5:58 pm

    补充一张播放时的界面图片啊!!!

      目前的日期/时间是2018-12-13, 1:59 pm