
嵌入式
王先森001
一个专注于嵌入式与算法研究的系统工程师
展开
-
如何快速上手Git
快速上手git原创 2022-08-31 17:40:52 · 455 阅读 · 0 评论 -
STM32 USB模块讲解,详细讲解USB库通信过程(二)
今天有空,开贴讲讲,怎样配合ST 提供的库函数理解STM32F103 的USB模块,以及怎么调用这些库函数来实现基本的USB通信。题目很大,先只讲讲最简单的应用。1 关于512字节的Packet Buffer在STM32F103的USB模块中有一个RAM 区,称为Packet Buffer,共有512字节。USB模块中有个Buffer Description Table,这个Table位于512字节的Packet Buffer中,可以在Packet Buffer 的任意位置。USB模块提供一个寄存原创 2020-11-27 09:51:09 · 12908 阅读 · 2 评论 -
成功移植的DAP-LINK(附带源码与原理图),比ST-LINK J-TAG还好用
比JLink 与STlink还好用的在线调试工具源码,附带源码与原理图,可以自行制作。DAPLink 是ARM 官方开源的一款调试烧录器,以前叫CMSIS DAP,现在改名叫DAPLink,同时在功能上也大大提高了。DAPLINK 可以调试arm cortex 全系列mcu,所以相比STLINK 和jlink 这方面更有优势。官方的维护一直在更新,未来也会扩充更多功能进来。所有从电子创客店铺购买的daplink 都采用官方原版方案,这样可以保证能随时跟随官方的脚步进行更新,获取更多新的功能。DAPLIN原创 2020-11-27 09:23:47 · 16437 阅读 · 0 评论 -
MP3音频解码详细过程(二)
最近做了无人机的音频解码,二周内从无任何音频基础到输出PCM数据码流到无人机上可以实现播报功能,其中遇到了许多莫名的坑,谨以此篇记录心得。也算交个作业。架构设计思路:由usart 实时传输mp3音频码流,STM32F446 将音频流丢给软件音频解码器,解码器输出PCM码流到i2s的 dma双 缓存区。dma将pcm码流搬运给i2s外设。i2s将数据丢给tas5720 一款dac功放,即可实现实时音频播报。MP3 文件是有帧(frame)构成的,frame 是文件最小组成单位。MP3 格式音乐文件普遍存在原创 2020-11-25 18:36:16 · 8376 阅读 · 0 评论 -
stm32 mp3软件音频解码案例分析流程(一)
最近做了一个无人机的语音播放项目,查了一下网上大部分都是硬件解码,成本相对比较高,而为了节约成本,我们采用了stm32f446 RET6作为主控+tas5720作为dac功放,实现mp3软件音频解码实现语音播报功能。采用成熟的Helix音频解码库,该库比市面上的Libmad 解码库更适用在小型嵌入式控制器移植。将该算法移植到STM32 控制器运行使用定点计算实现,它支持MPEG-1、MPEG-2 以及MPEG-2.5 标准的Layer3 解码。Helix 解码库支持可变位速率、恒定位速率,以及立体声和原创 2020-11-23 11:57:35 · 9167 阅读 · 29 评论