打印

STM32F4D+U盘+MP3 Player

[复制链接]
9090|57
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xfcjava2|  楼主 | 2012-11-20 18:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32F4D+U盘+MP3 Player  软解压,音质不错!!!

硬件:使用 STM32F4 Discovery 开发板,通过USB "A" 母 去 MICRO USB 公(OTG)连接线,外部连接U盘,具体连接如下:
软件:采用FreeRTOS嵌入式操作系统,以及FatFS文件系统。

1、连接U盘到 STM32F4 Discovery开发板接口如下:

  CN5----> MICRO USB 公-----USB "A" 母---->U盘

  另外:RS232连接如下:
              PA2-----------> TX
              PA3-----------> RX

2、 USB "A" 母 去 MICRO USB 公- 连接线图      [local]1[/local]


3、实物连接图片:
        
4、程序运行图片----UART输出 [波特率:115200bps]
     
5、测试程序hex文件如下:
      hex文件.rar (70.02 KB)
6、程序下载工具:
    STM32 ST-LINK Utility_v2.3.0.exe , 自己可以到ST官网上下载
沙发
xfcjava2|  楼主 | 2012-11-20 18:38 | 只看该作者
7、keil 工程项目文件: (注意: 部分代码采用了库文件,请大家包涵)      
   STM32F4D_UDisk_MP3_Player.rar (2.29 MB)

使用特权

评论回复
板凳
xfcjava2|  楼主 | 2012-11-20 18:41 | 只看该作者
识别U盘,一点问题也没有。
我测试过:  
     1、最古老的u盘,容量是128M的
     2、容量为2G的金士顿U盘
     3、容量为8G的金士顿U盘

使用特权

评论回复
地板
xfcjava2|  楼主 | 2012-11-20 18:48 | 只看该作者
2、 USB "A" 母 去 MICRO USB 公- 连接线图         

使用特权

评论回复
5
qqatscau| | 2012-11-20 21:04 | 只看该作者
MARK

使用特权

评论回复
6
lwg998| | 2012-11-20 22:35 | 只看该作者
爽试试看

使用特权

评论回复
7
xfcjava2|  楼主 | 2012-11-20 23:47 | 只看该作者
更新后的测试hex文件:
   (说明:可以通过User按键选择下一首曲目播放,功能上有些加强,有些bug也已修正。)


附件: F4D_UDisk_MP3_hex_V1.1.rar (67.84 KB)

使用特权

评论回复
8
xfcjava2|  楼主 | 2012-11-21 18:26 | 只看该作者
请有STM32F4 Discovery开发板的用户,测试一下。

使用特权

评论回复
9
xfcjava2|  楼主 | 2012-11-21 19:09 | 只看该作者
项目文件,还有如下的功能,你们也可以测试:  
1、修改 FATFS_ALLFUNC_DEBUG_EN 编译开关:
#define  FATFS_ALLFUNC_DEBUG_EN    1   
2、将BSP初始化修改如下:     
(也就是注释掉任务:Task_MP3Play_App)   
void InitBSP(void * pvParameters)   
{        
    (void)pvParameters;               
    SystemInit();               
    BSP_Init();               
   COM6_Init(115200);               
   xTaskCreate(Task_USB_Msc     , "Task_USB_Msc", 1024, NULL, 1, pxTaskUsbMsc);               xTaskCreate(Task_ReadLis302DL, "Task_ReadLis", 128 , NULL, 2, pxTaskReadLis);                xTaskCreate(Task_FatFs_Test  , "FatfsTestTask",1024, NULL, 3, pxTaskFatfsTest);                        //xTaskCreate(Task_MP3Play_App,"MP3Play_AppTask",1024, NULL, 5, pxMP3Play_App);                vTaskDelete(pxInitBSP); //delete itself.   
}
3、然后重新编译,下载代码到目标板,就可以测试U盘的FatFs文件系统的功能了:   
(说明:命令输入通过串口输入,所有命令采用:小写格式)  
di ------------------------------------初始化命令  
fi  ------------------------------------加载FatFs文件系统命令  
fl  ------------------------------------文件列表命令  
fs ------------------------------------文件系统状态命令  
....

使用特权

评论回复
10
xfcjava2|  楼主 | 2012-11-21 19:09 | 只看该作者

使用特权

评论回复
11
xfcjava2|  楼主 | 2012-11-21 19:10 | 只看该作者
【 fo <mode> <file> ------- 打开一个文件,:1:只读 ,2:写,4:创建文件 】

例如:fo 1 0:test_mdy.txt  ---------以只读模式打开一个文件【0:是驱动器号】
         fc  ---------------关闭文件

         fo 4 0:myusb.txt     ---------创建一个新文件【0:是驱动器号】
         fc  -----------关闭文件
         fl --------------使用此命令后,就可以看到你新创建的文件了

使用特权

评论回复
12
xfcjava2|  楼主 | 2012-11-21 19:26 | 只看该作者
还有很多的文件测试功能,在这儿就不一一列举了。
文件重命名,格式化,查看扇区数据,查看文件创建时间,删除文件,......

你们可以测试一下:查看扇区数据的命令:
dd  0   【说明: dd 命令  ;0:扇区号】

也可以直接输入命令: dd
连续运行此命令的话,可以一个扇区接着一个扇区的,查看扇区数据

使用特权

评论回复
13
xfcjava2|  楼主 | 2012-11-21 19:36 | 只看该作者
ds,dd命令截图:  
   

使用特权

评论回复
14
xfcjava2|  楼主 | 2012-11-21 19:44 | 只看该作者
上传的时候,RS232连接好像是搞错了。 非常抱歉!!!

“另外:RS232连接如下:                             应该是:
              PA2-----------> TX                                    PC6------------>TX
              PA3-----------> RX                                    PC7------------->RX

要是没有如此连接的话,你们可能就无法使用串口,测试这些功能了

使用特权

评论回复
15
xfcjava2|  楼主 | 2012-11-21 19:45 | 只看该作者
你们看看图片中的连接线位置,也能看出来,是上传的时候,搞错了。

使用特权

评论回复
16
dfsa| | 2012-11-21 23:10 | 只看该作者
很给力的一些资料,多谢共享

使用特权

评论回复
17
无冕之王| | 2012-11-21 23:20 | 只看该作者
lZ很给力啊,鼓励分享

使用特权

评论回复
18
baidudz| | 2012-11-21 23:30 | 只看该作者
这个资料对我很有用,多谢LZ

使用特权

评论回复
19
fengye5340| | 2012-11-22 10:10 | 只看该作者
感谢楼主分享!

使用特权

评论回复
20
jxndcl301| | 2012-12-3 11:08 | 只看该作者
谢谢楼主的开源精神

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

453

帖子

42

粉丝