2024年4月26日发(作者:柴初珍)
/******************************************************************************
******/
/******************************************************************************
******/
#include ""
#include ""
#include ""
#include ""
sbit LED1=P3^4;
sbit LED2=P3^5;
/******************************************************************************
******/
df"中有详细说明
df“阅读
//
// 开发者在学习LD3320开始时,可以直接把在这个main函数拷贝到自己单片机中编译
运行
// 如果只实现ASR语音识别功能,可以把程序中PlaySound()函数的调用注释掉就可以
//
// 当然,用户要根据自己实际的单片机去修改 mcu_init ,以及对应的管脚连接的定义,
中断定义
/******************************************************************************
******/
void main()
{
uint8 idata nAsrRes;
FlashLED(3);
MCU_init();
LD_reset();
nAsrStatus = LD_ASR_NONE; // 初始状态:没有在作ASR
PlaySound(CODE_DEFAULT); // 播放提示音
while(1)
{
if (bMp3Play!=0) // 如果还在播放MP3中,则等待,直到MP3播放完
毕 即bMp3Play==0
continue; // bMp3Play 是定义的一个全局变量用来记录MP3
播放的状态,不是LD3320芯片内部的寄存器
switch(nAsrStatus)
{
case LD_ASR_RUNING:
case LD_ASR_ERROR:
break;
case LD_ASR_NONE:
{
FlashLED(4);
nAsrStatus=LD_ASR_RUNING;
if (RunASR()==0) // 启动一次ASR识别流程:ASR初始化,ASR添加关
键词语,启动ASR运算
{
nAsrStatus = LD_ASR_ERROR;
LED1=0;
LED2=0;
}
break;
}
case LD_ASR_FOUNDOK:
{
FlashLED(2);
nAsrRes = LD_GetResult(); // 一次ASR识别流程结束,去取ASR识别
结果
PlaySound(nAsrRes);
nAsrStatus = LD_ASR_NONE;
break;
}
case LD_ASR_FOUNDZERO:
default:
{
FlashLED(1);
PlaySound(CODE_DEFAULT);
nAsrStatus = LD_ASR_NONE;
break;
}
}// switch
}// while
}
void MCU_init()
{
P1M0 |= 1;
2024年4月26日发(作者:柴初珍)
/******************************************************************************
******/
/******************************************************************************
******/
#include ""
#include ""
#include ""
#include ""
sbit LED1=P3^4;
sbit LED2=P3^5;
/******************************************************************************
******/
df"中有详细说明
df“阅读
//
// 开发者在学习LD3320开始时,可以直接把在这个main函数拷贝到自己单片机中编译
运行
// 如果只实现ASR语音识别功能,可以把程序中PlaySound()函数的调用注释掉就可以
//
// 当然,用户要根据自己实际的单片机去修改 mcu_init ,以及对应的管脚连接的定义,
中断定义
/******************************************************************************
******/
void main()
{
uint8 idata nAsrRes;
FlashLED(3);
MCU_init();
LD_reset();
nAsrStatus = LD_ASR_NONE; // 初始状态:没有在作ASR
PlaySound(CODE_DEFAULT); // 播放提示音
while(1)
{
if (bMp3Play!=0) // 如果还在播放MP3中,则等待,直到MP3播放完
毕 即bMp3Play==0
continue; // bMp3Play 是定义的一个全局变量用来记录MP3
播放的状态,不是LD3320芯片内部的寄存器
switch(nAsrStatus)
{
case LD_ASR_RUNING:
case LD_ASR_ERROR:
break;
case LD_ASR_NONE:
{
FlashLED(4);
nAsrStatus=LD_ASR_RUNING;
if (RunASR()==0) // 启动一次ASR识别流程:ASR初始化,ASR添加关
键词语,启动ASR运算
{
nAsrStatus = LD_ASR_ERROR;
LED1=0;
LED2=0;
}
break;
}
case LD_ASR_FOUNDOK:
{
FlashLED(2);
nAsrRes = LD_GetResult(); // 一次ASR识别流程结束,去取ASR识别
结果
PlaySound(nAsrRes);
nAsrStatus = LD_ASR_NONE;
break;
}
case LD_ASR_FOUNDZERO:
default:
{
FlashLED(1);
PlaySound(CODE_DEFAULT);
nAsrStatus = LD_ASR_NONE;
break;
}
}// switch
}// while
}
void MCU_init()
{
P1M0 |= 1;