STM32使用教程
提供基于STM32F103RBT6的例程
硬件连接
我们提供的例程是基于STM32F103RBT6的,提供的连接方式也是对应的STM32F103RBT6的引脚,如果需要移植程序,请按实际引脚连接
STM32F103RBT6连接引脚对应关系LD3320 | STM32 |
3.3V | 3.3V |
GND | GND |
MISO | PA6 |
MOSI | PA7 |
SCK | PA5 |
NSS | PA10 |
RST | PA9 |
WR | PA8 |
IRQ | PB0 |
运行程序
例程是基于HAL库进行开发的。 下载程序,找到STM32程序文件目录。

使用Keil5打开LD3320 Board_code\STM32\LD3320_Demo\MDK-ARM目录下的LD3320_Demo.uvprojx,可看到程序,重新编译下载即可。
使用串口接收提示信息,上电会有RunASR表示语音识别准备好了,本例程预设了四个语音识别关键词:闪烁、流水灯、按键、播放,模块识别正确串口会有以下提示信息:

识别失败会有以下提示信息:

说出播放指令后:

解锁更多姿势请下拉查看开发攻略或查阅用户手册以及数据手册
开发攻略
如果需要添加识别关键词,只需要进行如下几个步骤:

- LD3320_Demo.c文件中的LD3320_test函数增加相应标识码的语句提示分支。

- LD3320_Demo.c文件中的Board_text函数添加相应的动作处理分支。

- LD3320_Demo.c文件中添加新的处理函数,去执行你想要做的事,例如流水灯:

- 在LD3320_Driver.c文件的LD_AsrAddKey函数中的两个数组添加关键词和标识码,sRecog是关键词使用的汉语拼音,pCode是第1步中添加的标识码。DATE_A是关键词数量,最多可以为50,DATE_B为关键词的长度,可以根据需求更改。

- 至此,语音识别功能已经开发完成,接下来是播放功能,注意:本模块的识别和播放功能不能同时进行。
- 播放功能可以由语音识别触发,首先是添加关键词,不太清楚可以再看一遍上面的内容,本例程中使用了关键词“播放”进入了播放处理函数中。

- STM32例程提供了从flash存取音频数据的方法,,在LD3320_Demo.c文件的Board_text函数中添加好处理函数

- 在播放处理函数中依次进行给文件长度赋值,播放模式初始化,调节播放音量,开始播放。用户只需要修改nMp3Size的值和LD_play的参数,可到mp3.h中查看定义,用户有需要可以自行增加数组,mp3转hex方法见文末。LD_Adjust_Volume函数调节音量(音量范围为15-0)。

- 修改完毕后保存退出,重新编译运行即可开始语音识别/播报之旅。
- 本例程所有全局变量/宏定义/函数都有说明,请打开LD3320_Driver.c和各文件查看。