一、文件结构
main.c —— Main.c主函数、LED灯测试、单片机初始化、延时函数、
中断函数(调用LDChip.c中的中断函数)、
用户执行函数(对识别到的结果进行相应的串口输出)
config.h —— 包含的头文件
LDchip.c 、LDchip.h —— LD模块的复位、命令初始化、功能初始化
中断函数(当接收到音频信号,进入该函数,判断识别是否有结果)
运行识别流程(初始化、添加关键词、启动语音识别)
检测LD模块是否空闲、获取识别结果
Reg_Rw.c Reg_Rw.h —— 寄存器的读写操作
二、分析代码(从main.c函数出发)
Led_test() LED灯测试(闪烁三次)
MCU_init()单片机初始化
LD_Reset() 复位LD模块
UartIni() 串口初始化
nAsrStatus 表示程序运行的状态,初始化为0(使用宏LD_ASR_NONE来表示0),共有4种状态
#ifdef TEST 表示若有定义该宏则执行该范围代码,无该宏则不执行
#endif
switch(nAsrStatus)判断程序运行状态
1. LD_ASR_RUNING 表示正在识别中
2. LD_ASR_ERROR 表示芯片内部出现错误
以上两种情况不执行代码
3. LD_ASR_NONE 表示没有在识别
执行代码: