实例介绍
MP3 播放器是一款软件解码器不同于市面上的硬件解码, 优点成本低,mp3解码库已经开源,有一定的技术含量。大体流程是从SD卡读取MP3格式的文件,然后提取里边音频数据,经过哈夫曼解码、哈夫曼信息解码、尺度因子解码、然后逆量化、重排序,立体声解码,频率翻转、合成多项滤波,最终生成PCM码流,通过IIS将数据丢给DAC放大器,最终在喇叭播放出声音
【实例截图】
【核心代码】
16359647315369012198.zip
└── I2S_MP3播放器
├── Doc
│ └── readme.txt
├── keilkill.bat
├── Libraries
│ ├── CMSIS
│ │ ├── Device
│ │ │ └── ST
│ │ │ └── STM32F4xx
│ │ │ ├── Include
│ │ │ │ ├── stm32f407xx.h
│ │ │ │ ├── stm32f429xx.h
│ │ │ │ ├── stm32f4xx.h
│ │ │ │ └── system_stm32f4xx.h
│ │ │ └── Source
│ │ │ └── Templates
│ │ │ ├── arm
│ │ │ │ ├── startup_stm32f407xx.s
│ │ │ │ └── startup_stm32f429xx.s
│ │ │ └── system_stm32f4xx.c
│ │ └── Include
│ │ ├── arm_common_tables.h
│ │ ├── arm_const_structs.h
│ │ ├── arm_math.h
│ │ ├── cmsis_armcc.h
│ │ ├── cmsis_armcc_V6.h
│ │ ├── cmsis_gcc.h
│ │ ├── core_cm0.h
│ │ ├── core_cm0plus.h
│ │ ├── core_cm3.h
│ │ ├── core_cm4.h
│ │ ├── core_cm7.h
│ │ ├── core_cmFunc.h
│ │ ├── core_cmInstr.h
│ │ ├── core_cmSimd.h
│ │ ├── core_sc000.h
│ │ └── core_sc300.h
│ └── STM32F4xx_HAL_Driver
│ ├── Inc
│ │ ├── Legacy
│ │ │ ├── stm32f4xx_hal_can_legacy.h
│ │ │ └── stm32_hal_legacy.h
│ │ ├── stm32_assert_template.h
│ │ ├── stm32f4xx_hal_adc_ex.h
│ │ ├── stm32f4xx_hal_adc.h
│ │ ├── stm32f4xx_hal_can.h
│ │ ├── stm32f4xx_hal_cec.h
│ │ ├── stm32f4xx_hal_conf_template.h
│ │ ├── stm32f4xx_hal_cortex.h
│ │ ├── stm32f4xx_hal_crc.h
│ │ ├── stm32f4xx_hal_cryp_ex.h
│ │ ├── stm32f4xx_hal_cryp.h
│ │ ├── stm32f4xx_hal_dac_ex.h
│ │ ├── stm32f4xx_hal_dac.h
│ │ ├── stm32f4xx_hal_dcmi_ex.h
│ │ ├── stm32f4xx_hal_dcmi.h
│ │ ├── stm32f4xx_hal_def.h
│ │ ├── stm32f4xx_hal_dfsdm.h
│ │ ├── stm32f4xx_hal_dma2d.h
│ │ ├── stm32f4xx_hal_dma_ex.h
│ │ ├── stm32f4xx_hal_dma.h
│ │ ├── stm32f4xx_hal_dsi.h
│ │ ├── stm32f4xx_hal_eth.h
│ │ ├── stm32f4xx_hal_flash_ex.h
│ │ ├── stm32f4xx_hal_flash.h
│ │ ├── stm32f4xx_hal_flash_ramfunc.h
│ │ ├── stm32f4xx_hal_fmpi2c_ex.h
│ │ ├── stm32f4xx_hal_fmpi2c.h
│ │ ├── stm32f4xx_hal_gpio_ex.h
│ │ ├── stm32f4xx_hal_gpio.h
│ │ ├── stm32f4xx_hal.h
│ │ ├── stm32f4xx_hal_hash_ex.h
│ │ ├── stm32f4xx_hal_hash.h
│ │ ├── stm32f4xx_hal_hcd.h
│ │ ├── stm32f4xx_hal_i2c_ex.h
│ │ ├── stm32f4xx_hal_i2c.h
│ │ ├── stm32f4xx_hal_i2s_ex.h
│ │ ├── stm32f4xx_hal_i2s.h
│ │ ├── stm32f4xx_hal_irda.h
│ │ ├── stm32f4xx_hal_iwdg.h
│ │ ├── stm32f4xx_hal_lptim.h
│ │ ├── stm32f4xx_hal_ltdc_ex.h
│ │ ├── stm32f4xx_hal_ltdc.h
│ │ ├── stm32f4xx_hal_mmc.h
│ │ ├── stm32f4xx_hal_nand.h
│ │ ├── stm32f4xx_hal_nor.h
│ │ ├── stm32f4xx_hal_pccard.h
│ │ ├── stm32f4xx_hal_pcd_ex.h
│ │ ├── stm32f4xx_hal_pcd.h
│ │ ├── stm32f4xx_hal_pwr_ex.h
│ │ ├── stm32f4xx_hal_pwr.h
│ │ ├── stm32f4xx_hal_qspi.h
│ │ ├── stm32f4xx_hal_rcc_ex.h
│ │ ├── stm32f4xx_hal_rcc.h
│ │ ├── stm32f4xx_hal_rng.h
│ │ ├── stm32f4xx_hal_rtc_ex.h
│ │ ├── stm32f4xx_hal_rtc.h
│ │ ├── stm32f4xx_hal_sai_ex.h
│ │ ├── stm32f4xx_hal_sai.h
│ │ ├── stm32f4xx_hal_sd.h
│ │ ├── stm32f4xx_hal_sdram.h
│ │ ├── stm32f4xx_hal_smartcard.h
│ │ ├── stm32f4xx_hal_spdifrx.h
│ │ ├── stm32f4xx_hal_spi.h
│ │ ├── stm32f4xx_hal_sram.h
│ │ ├── stm32f4xx_hal_tim_ex.h
│ │ ├── stm32f4xx_hal_tim.h
│ │ ├── stm32f4xx_hal_uart.h
│ │ ├── stm32f4xx_hal_usart.h
│ │ ├── stm32f4xx_hal_wwdg.h
│ │ ├── stm32f4xx_ll_adc.h
│ │ ├── stm32f4xx_ll_bus.h
│ │ ├── stm32f4xx_ll_cortex.h
│ │ ├── stm32f4xx_ll_crc.h
│ │ ├── stm32f4xx_ll_dac.h
│ │ ├── stm32f4xx_ll_dma2d.h
│ │ ├── stm32f4xx_ll_dma.h
│ │ ├── stm32f4xx_ll_exti.h
│ │ ├── stm32f4xx_ll_fmc.h
│ │ ├── stm32f4xx_ll_fsmc.h
│ │ ├── stm32f4xx_ll_gpio.h
│ │ ├── stm32f4xx_ll_i2c.h
│ │ ├── stm32f4xx_ll_iwdg.h
│ │ ├── stm32f4xx_ll_lptim.h
│ │ ├── stm32f4xx_ll_pwr.h
│ │ ├── stm32f4xx_ll_rcc.h
│ │ ├── stm32f4xx_ll_rng.h
│ │ ├── stm32f4xx_ll_rtc.h
│ │ ├── stm32f4xx_ll_sdmmc.h
│ │ ├── stm32f4xx_ll_spi.h
│ │ ├── stm32f4xx_ll_system.h
│ │ ├── stm32f4xx_ll_tim.h
│ │ ├── stm32f4xx_ll_usart.h
│ │ ├── stm32f4xx_ll_usb.h
│ │ ├── stm32f4xx_ll_utils.h
│ │ └── stm32f4xx_ll_wwdg.h
│ └── Src
│ ├── Legacy
│ │ └── stm32f4xx_hal_can.c
│ ├── stm32f4xx_hal_adc.c
│ ├── stm32f4xx_hal_adc_ex.c
│ ├── stm32f4xx_hal.c
│ ├── stm32f4xx_hal_can.c
│ ├── stm32f4xx_hal_cec.c
│ ├── stm32f4xx_hal_cortex.c
│ ├── stm32f4xx_hal_crc.c
│ ├── stm32f4xx_hal_cryp.c
│ ├── stm32f4xx_hal_cryp_ex.c
│ ├── stm32f4xx_hal_dac.c
│ ├── stm32f4xx_hal_dac_ex.c
│ ├── stm32f4xx_hal_dcmi.c
│ ├── stm32f4xx_hal_dcmi_ex.c
│ ├── stm32f4xx_hal_dfsdm.c
│ ├── stm32f4xx_hal_dma2d.c
│ ├── stm32f4xx_hal_dma.c
│ ├── stm32f4xx_hal_dma_ex.c
│ ├── stm32f4xx_hal_dsi.c
│ ├── stm32f4xx_hal_eth.c
│ ├── stm32f4xx_hal_flash.c
│ ├── stm32f4xx_hal_flash_ex.c
│ ├── stm32f4xx_hal_flash_ramfunc.c
│ ├── stm32f4xx_hal_fmpi2c.c
│ ├── stm32f4xx_hal_fmpi2c_ex.c
│ ├── stm32f4xx_hal_gpio.c
│ ├── stm32f4xx_hal_hash.c
│ ├── stm32f4xx_hal_hash_ex.c
│ ├── stm32f4xx_hal_hcd.c
│ ├── stm32f4xx_hal_i2c.c
│ ├── stm32f4xx_hal_i2c_ex.c
│ ├── stm32f4xx_hal_i2s.c
│ ├── stm32f4xx_hal_i2s_ex.c
│ ├── stm32f4xx_hal_irda.c
│ ├── stm32f4xx_hal_iwdg.c
│ ├── stm32f4xx_hal_lptim.c
│ ├── stm32f4xx_hal_ltdc.c
│ ├── stm32f4xx_hal_ltdc_ex.c
│ ├── stm32f4xx_hal_mmc.c
│ ├── stm32f4xx_hal_msp_template.c
│ ├── stm32f4xx_hal_nand.c
│ ├── stm32f4xx_hal_nor.c
│ ├── stm32f4xx_hal_pccard.c
│ ├── stm32f4xx_hal_pcd.c
│ ├── stm32f4xx_hal_pcd_ex.c
│ ├── stm32f4xx_hal_pwr.c
│ ├── stm32f4xx_hal_pwr_ex.c
│ ├── stm32f4xx_hal_qspi.c
│ ├── stm32f4xx_hal_rcc.c
│ ├── stm32f4xx_hal_rcc_ex.c
│ ├── stm32f4xx_hal_rng.c
│ ├── stm32f4xx_hal_rtc.c
│ ├── stm32f4xx_hal_rtc_ex.c
│ ├── stm32f4xx_hal_sai.c
│ ├── stm32f4xx_hal_sai_ex.c
│ ├── stm32f4xx_hal_sd.c
│ ├── stm32f4xx_hal_sdram.c
│ ├── stm32f4xx_hal_smartcard.c
│ ├── stm32f4xx_hal_spdifrx.c
│ ├── stm32f4xx_hal_spi.c
│ ├── stm32f4xx_hal_sram.c
│ ├── stm32f4xx_hal_tim.c
│ ├── stm32f4xx_hal_timebase_rtc_alarm_template.c
│ ├── stm32f4xx_hal_timebase_rtc_wakeup_template.c
│ ├── stm32f4xx_hal_timebase_tim_template.c
│ ├── stm32f4xx_hal_tim_ex.c
│ ├── stm32f4xx_hal_uart.c
│ ├── stm32f4xx_hal_usart.c
│ ├── stm32f4xx_hal_wwdg.c
│ ├── stm32f4xx_ll_adc.c
│ ├── stm32f4xx_ll_crc.c
│ ├── stm32f4xx_ll_dac.c
│ ├── stm32f4xx_ll_dma2d.c
│ ├── stm32f4xx_ll_dma.c
│ ├── stm32f4xx_ll_exti.c
│ ├── stm32f4xx_ll_fmc.c
│ ├── stm32f4xx_ll_fsmc.c
│ ├── stm32f4xx_ll_gpio.c
│ ├── stm32f4xx_ll_i2c.c
│ ├── stm32f4xx_ll_lptim.c
│ ├── stm32f4xx_ll_pwr.c
│ ├── stm32f4xx_ll_rcc.c
│ ├── stm32f4xx_ll_rng.c
│ ├── stm32f4xx_ll_rtc.c
│ ├── stm32f4xx_ll_sdmmc.c
│ ├── stm32f4xx_ll_spi.c
│ ├── stm32f4xx_ll_tim.c
│ ├── stm32f4xx_ll_usart.c
│ ├── stm32f4xx_ll_usb.c
│ └── stm32f4xx_ll_utils.c
├── Listings
│ ├── asmmisc.lst
│ ├── asmpoly_thumb2.lst
│ ├── startup_stm32f429xx.lst
│ └── YH-F429.map
├── Output
├── Project
│ ├── DebugConfig
│ │ └── IIC_STM32F429IGTx.dbgconf
│ ├── EventRecorderStub.scvd
│ ├── STM32F429.uvguix.Autel
│ ├── STM32F429.uvoptx
│ └── STM32F429.uvprojx
└── User
├── FatFs
│ ├── 00readme.txt
│ ├── diskio.c
│ ├── diskio.h
│ ├── doc
│ │ ├── css_e.css
│ │ ├── css_j.css
│ │ ├── css_p.css
│ │ ├── img
│ │ │ ├── app1.c
│ │ │ ├── app2.c
│ │ │ ├── app3.c
│ │ │ ├── app4.c
│ │ │ ├── f1.png
│ │ │ ├── f2.png
│ │ │ ├── f3.png
│ │ │ ├── f4.png
│ │ │ ├── f5.png
│ │ │ ├── f6.png
│ │ │ ├── f7.png
│ │ │ ├── funcs.png
│ │ │ ├── layers1.png
│ │ │ ├── layers2.png
│ │ │ ├── layers3.png
│ │ │ ├── layers.png
│ │ │ ├── mkfatimg.zip
│ │ │ ├── modules.png
│ │ │ ├── rwtest2.png
│ │ │ ├── rwtest3.png
│ │ │ └── rwtest.png
│ │ └── updates.txt
│ ├── drivers
│ │ ├── sd_diskio.c
│ │ ├── sd_diskio.h
│ │ ├── sdram_diskio.c
│ │ ├── sdram_diskio.h
│ │ ├── sram_diskio.c
│ │ ├── sram_diskio.h
│ │ ├── usbh_diskio.c
│ │ └── usbh_diskio.h
│ ├── ff.c
│ ├── ffconf.h
│ ├── ffconf_template.h
│ ├── ff_gen_drv.c
│ ├── ff_gen_drv.h
│ ├── ff.h
│ ├── history.txt
│ ├── integer.h
│ ├── option
│ │ ├── cc932.c
│ │ ├── cc936.c
│ │ ├── cc949.c
│ │ ├── cc950.c
│ │ ├── ccsbcs.c
│ │ ├── syscall.c
│ │ └── unicode.c
│ └── st_readme.txt
├── key
│ ├── bsp_key.c
│ └── bsp_key.h
├── led
│ ├── bsp_led.c
│ └── bsp_led.h
├── main.c
├── main.h
├── mp3
│ ├── mp3dec.c
│ ├── mp3tabs.c
│ ├── pub
│ │ ├── mp3common.h
│ │ ├── mp3dec.h
│ │ ├── mpadecobjfixpt.h
│ │ └── statname.h
│ └── real
│ ├── arm
│ │ ├── asmmisc.s
│ │ └── asmpoly_thumb2.s
│ ├── assembly.h
│ ├── bitstream.c
│ ├── buffers.c
│ ├── coder.h
│ ├── dct32.c
│ ├── dequant.c
│ ├── dqchan.c
│ ├── huffman.c
│ ├── hufftabs.c
│ ├── imdct.c
│ ├── scalfact.c
│ ├── stproc.c
│ ├── subband.c
│ └── trigtabs.c
├── mp3Player.c
├── mp3Player.h
├── sdio
│ ├── bsp_sdio_sd.c
│ ├── bsp_sdio_sd.h
│ ├── fatfs_sd_sdio.c
│ ├── fatfs_sd_sdio.h
│ ├── sdio_test.c
│ └── sdio_test.h
├── stm32f4xx_hal_conf.h
├── stm32f4xx_it.c
├── stm32f4xx_it.h
├── system_stm32f4xx.c
├── systick
│ ├── bsp_SysTick.c
│ └── bsp_SysTick.h
├── usart
│ ├── bsp_debug_usart.c
│ └── bsp_debug_usart.h
└── wm8978
├── bsp_i2c_gpio.c
├── bsp_i2c_gpio.h
├── bsp_wm8978.c
└── bsp_wm8978.h
37 directories, 320 files
标签:
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论