我没用os,只是简单的查询。
用stm32的DAC就能播放wav格式的pcm文件了。
如果要简单,就用stm32直接驱动VS1003或者VS1053。
光放音乐是可以不用移植操作系统的,硬解码VS1053或者VS1003,软解码随意加一个音频DAC芯片就可以了。所以整个系统可以由STM32+SD卡(或者flash)+解码器(或者DAC数模转换芯片),如果想显示东西再加一个lcd屏。
3种方法:1、不带系统软解码,你去找C语言的MP3解码源码,慢慢读懂然后在移植到STM32。
2、带系统软解码,这个根据不同的操作系统编写相应的应用程序就好了,比较简单。
3、硬解码,使用MP3解码IC,然后使用STM32作为控制器。现在单纯的MP3解码IC已经比较少了,一般都是自带控制器的,当然你也可以用STM32扩展它的功能。
首先,你要定个方案。有现成的音频处理器方案,那么你的stm32就只关心通讯就好了。如果你想用stm32直接做音频处理。。那么。。。工程巨大啊。。。首先,你需要足够快的AD采样速率。。。比如22K或者至少16K也好啊。然后,音频调理不多说了。。音频信号搞到ADC那里开挂。。然后,你就会得到一串音频AD数据。当然是固定采样频率的了。而且根本不能停下来。。。。。然后,你要搞个傅里叶变换。。就是分析出这串ADC里面的频谱。。然后。。你就懂了。最后。。MP3是需要解码的。直接从文件解傅里叶是不用ADC配合的。蛋,我比较不确定stm32可以搞这么多复杂运算。毕竟最高频率也不超过168M。结果结局是并不算太复杂。我多虑了。因为都有人做出来了。而且貌似很轻松。。72M主频/link?url=j2taHGuPAUFgPNI9bChLUq8imimyuw_bc_4ZWv8MbuH5DE2dY_wKApN4kLsjIt0tgcJ7o5k9h3bZ-yPJc3dhU3NaszuYL3Aphz8G1kIVzpS
始化时钟的时候有个回传晶振稳定的标志位,库函数中是while等待这个标志位后跳出,说明晶振稳定了,一般时间是在ms级别上
本文标签:基于stm32的无线音乐播放器