|
继上次在STM32上实现level0-level8全级别flac播放后,
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4531723&bbs_page_no=1&search_mode=1&search_text=flac&bbs_id=9999
觉得生活淡然无味.何必再来个APE呢?
折腾了一个下午最后发现STM32运算能力不够(即使不用CRC)....出于水平不能实现源码级修改,无奈就打STM32主意了,小超下
修改system_stm32f10x.c第995行本来的RCC_CFGR_PLLMULL9为RCC_CFGR_PLLMULL11
这样一来,对于fast压缩级别的APE是没问题了,但是对于Normal压缩级别(最常见)的APE却无能为力了,再超!
修改RCC_CFGR_PLLMULL11为RCC_CFGR_PLLMULL14 总算流畅了,可惜不到一分钟就fault了.当然这跟STM32体质有关系,可能你的RCC_CFGR_PLLMULL14可以呢
至于解码流程就不多说了,跟解flac差不多.下面工程为RCC_CFGR_PLLMULL11,对于fast压缩级别的APE应该是没问题的,如果你遇到断流,请用foobar2000转换
成fast压缩级别,如图:
(原文件名:2000.jpg)
当然你也可以修改为RCC_CFGR_PLLMULL14,如果可能的话.
忘记说了,硬件基于STM32 Radio的^_^
资源占用情况:
Program Size: Code=73644 RO-data=6760 RW-data=544 ZI-data=59672
下面是工程:
点击此处下载 ourdev_633300P0S47W.rar(文件大小:2.47M) (原文件名:ape.rar)
用法,见图:
(原文件名:print.jpg)
注意:
1.MDK优化级别为 level 3
2.单声道没有处理
3.程序Bug多,连最基本的判断都没有,还有超频害处多,权当儿戏!
4.CODE为Master |
|