LD3320 语音识别模块 开发板集成STC单片机_笔记1
2022/2/22 0:03:16
本文主要是介绍LD3320 语音识别模块 开发板集成STC单片机_笔记1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文章为本人接触LD3320的笔记,供新手参考使用;
目录
硬件及其连接
软件与环境
Keil uVision5
STC-ISP
环境搭建
程序修改及其描述
硬件及其连接
连接 USB 下载器,接上 GND、RXD、TXD、5V,注意 RXD/TXD 必须交叉连接
软件与环境
Keil uVision5
STC-ISP
环境搭建
STCMCU采用的是STC11L32XE
问题描述:在 keil5 中,没有STC系列的芯片;
解决方法:参考文章“KEIL中怎样添加STC系列单片机”
程序修改及其描述
下面将基于开关灯的功能,对例程进行修改,并对一些程序进行简单的说明。
在 LDChip.c 文件中,有以下代码
uint8 LD_AsrAddFixed() { uint8 k, flag; uint8 nAsrAddLength; #define DATE_A 8 /*数组二维数值,有八行设置*/ #define DATE_B 30 /*数组一维数值*/ uint8 code sRecog[DATE_A][DATE_B] = { "xiao jie",\ "kai fa ban yan zheng",\ "dai ma ce shi",\ "deng lai",\ "deng qu",\ "deng shan shuo",\ "you zhuan",\ "zan ting" }; /*添加关键词,用户修改*/ uint8 code pCode[DATE_A] = { CODE_CMD,\ CODE_KFBYZ,\ CODE_DMCS,\ CODE_KD,\ CODE_GD,\ CODE_SS,\ CODE_YZ,\ CODE_ZT }; /*添加识别码,用户修改*/ flag = 1; for (k=0; k<DATE_A; k++) { if(LD_Check_ASRBusyFlag_b2() == 0) { flag = 0; break; } LD_WriteReg(0xc1, pCode[k] ); LD_WriteReg(0xc3, 0 ); LD_WriteReg(0x08, 0x04); delay(1); LD_WriteReg(0x08, 0x00); delay(1); for (nAsrAddLength=0; nAsrAddLength<DATE_B; nAsrAddLength++) { if (sRecog[k][nAsrAddLength] == 0) break; LD_WriteReg(0x5, sRecog[k][nAsrAddLength]); } LD_WriteReg(0xb9, nAsrAddLength); LD_WriteReg(0xb2, 0xff); LD_WriteReg(0x37, 0x04); } return flag; }
功能描述:向LD3320模块添加关键词
操作方法:
- 根据修改关键词的个位数n定义DATE_A的数值n,如,例程中有8个关键词则DATE_A数值为8;
- 根据最长关键词的字节长定义DATE_B的数值m;//这里笔者也不是很会,看编译结果来定吧
- 修改关键词就是修改双引号中的拼音,如,开灯->"kai deng"
- 完成关键词的修改后,修改pCode,即识别码,将识别码的行数与关键词对应起来;
如果有修改识别码的情况下,需要分别在文件"main.c""LDChip.h"处同步修改;//其中"LDChip.h"中有识别码在MCU中的地址,该地方笔者不是很会
最后在"main.c"文件中,对 User_handle() 进行相关事件即可完成开关灯等指令;
这篇关于LD3320 语音识别模块 开发板集成STC单片机_笔记1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享