硬件模块的二次开发——YS-LDV7语音模块的二次开发

1.YS-LDV7语音模块:

工作电压:5V
通信方式:串口通信
单片机型号:STC11L08XE

2.源码修改:

(1)使用 Keil uVision4 进行修改,打开 code:

硬件模块的二次开发——YS-LDV7语音模块的二次开发
(2) main.c:(此处省略部分代码)
#ifdef TEST
PrintCom("一级口令:小杰\r\n");
PrintCom("二级口令:1、代码测试\r\n");
PrintCom("  2、开发板验证\r\n");
PrintCom("  3、开灯\r\n");
PrintCom("  4、关灯\r\n");
PrintCom("  5、北京\r\n");
PrintCom("  6、上海\r\n");
PrintCom("  7、广州\r\n");
#endif

#define TEST

TEST为测试命令宏,添加 TEST则运行其中代码,此处代码为向串口打印相应数据,不希望执行测试命令,则在 #ifdef TEST处去掉 TEST宏
(3) LDChip.c:修改关键词和识别码(此处省略部分代码)

uint8 LD_AsrAddFixed()
{

    #define DATE_A 50
    #define DATE_B 70
    uint8 code sRecog[DATE_A][DATE_B] = {
                                                                                 "xiao jie",\
                                                                                 "kai fa ban yan zheng",\
                                                                                 "dai ma ce shi",\
                                                                                 "kai deng",\
                                                                                 "guan deng",\
                                                                                 "bei jing",\
                                                                                 "shang hai",\
                                                                                 "guang zhou"
                                                                            };
    uint8 code pCode[DATE_A] = {
                                                            CODE_CMD,\
                                                            CODE_KFBYZ,\
                                                            CODE_DMCS,\
                                                            CODE_KD,\
                                                            CODE_GD,\
                                                            CODE_BJ,\
                                                            CODE_SH,\
                                                            CODE_GZ
                                                         };

添加内容为拼音输入方式,例如想添加”开灯”命令,则写入” kai deng“,每个汉字间的拼音用空格隔开;
所添加的识别码为预先定义好的宏定义常量值,同时必须和关键词一一对应,如上图所示,” dai ma ce shi“命令对应的识别码为 CODE_DMCS
(4) LDChip.h:根据关键词修改相应识别码(此处省略部分代码)


#define CODE_CMD  0x00
#define CODE_DMCS   0x01
#define CODE_KFBYZ  0x02
#define CODE_KD 0x04
#define CODE_GD 0x05
#define CODE_BJ 0x16
#define CODE_SH 0x17
#define CODE_GZ 0x2f

(5) main.c:修改处理函数(此处省略部分代码)

switch(dat)
              {
                  case CODE_DMCS:
                        PrintCom(""代码测试"命令识别成功\r\n");
                                                     break;
                    case CODE_KFBYZ:
                        PrintCom(""开发板验证"命令识别成功\r\n");
                                                     break;
                    case CODE_KD:
                        PrintCom(""开灯"命令识别成功\r\n");
                                                    break;
                    case CODE_GD:
                        PrintCom(""关灯"命令识别成功\r\n");
                                                    break;
                    case CODE_BJ:
                        PrintCom(""北京"命令识别成功\r\n");
                                                    break;
                    case CODE_SH:
                        PrintCom(""上海"命令识别成功\r\n");
                                                    break;
                    case CODE_GZ:
                        PrintCom(""广州"命令识别成功\r\n");
                                                    break;
                            default:PrintCom("请重新识别发口令\r\n"); break;
                }

用户可以根据自己的使用情况,在对应的识别码后面添加识别成功后的操作。那么,当设备到达某个句子之后,它会执行相应的动作。实际上,该程序是对识别码进行判断和识别,然后执行相应的动作,属于单片机程序的应用处理部分。

[En]

Users can add the operation after successful identification after the corresponding identification code according to their own usage. Well, after the device arrives at a certain sentence, it will perform the corresponding action. In fact, this program is to judge and identify the identification code and then perform the corresponding action, which belongs to the application processing part of the single-chip microcomputer program.

(6)修改完成后检查是否能够正常编译:

硬件模块的二次开发——YS-LDV7语音模块的二次开发

3.模块调试:

(1)模块程序下载:
本模块的程序下载实际为 STC 单片机的程序下载方法,首先我们需要安装 USB 转 TTL 驱动(如已安装无需再安装),然后接好 USB 转 TTL,打开 STC-ISP:

硬件模块的二次开发——YS-LDV7语音模块的二次开发
①选择单片机型号
②选择相应串口号
③打开程序文件 > 打开源程序 > 打开obj文件夹 > 选择后缀.hex文件
④注意勾选”复位脚用作I/O口”,
⑤设置完毕后点击”下载/编程”,并冷启动
在⑥冷启动后,底部的进度条显示进度。
[En]

After the cold start of ⑥, the progress bar at the bottom shows the progress.

(2)调试:

硬件模块的二次开发——YS-LDV7语音模块的二次开发
②接收缓冲区选择”文本模式”
③选择相应串口号
④波特率选择 9600
⑤打开串口

Original: https://blog.csdn.net/qq_51938263/article/details/115738733
Author: 嵌入式软件工程师小陈
Title: 硬件模块的二次开发——YS-LDV7语音模块的二次开发

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/526361/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球