久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3806|回復: 5
打印 上一主題 下一主題
收起左側

求助編好的語言不能識別

[復制鏈接]
跳轉到指定樓層
樓主
ID:79154 發表于 2015-5-27 08:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include "config.h"
extern void  delay(unsigned long uldata);
uint8 idata ucRegVal;
extern uint8 idata nAsrStatus;
void ProcessInt0(void);
/************************************************************************
功能描述:   復位LD模塊
入口參數:  none
返 回 值:   none
其他說明:  none
**************************************************************************/
void LD_Reset()
{
RSTB=1;
delay(1);
RSTB=0;
delay(1);
RSTB=1;
delay(1);
CSB=0;
delay(1);
CSB=1;
delay(1);
}
/************************************************************************
功能描述: LD模塊命令初始化
入口參數: none
返 回 值: none
其他說明: 該函數為出廠配置,一般不需要修改;
      有興趣的客戶可對照開發手冊根據需要自行修改。
**************************************************************************/
void LD_Init_Common()
{
LD_ReadReg(0x06);  
LD_WriteReg(0x17, 0x35);
delay(10);
LD_ReadReg(0x06);  
LD_WriteReg(0x89, 0x03);  
delay(5);
LD_WriteReg(0xCF, 0x43);   
delay(5);
LD_WriteReg(0xCB, 0x02);

/*PLL setting*/
LD_WriteReg(0x11, LD_PLL_11);      
LD_WriteReg(0x1E,0x00);
LD_WriteReg(0x19, LD_PLL_ASR_19);
LD_WriteReg(0x1B, LD_PLL_ASR_1B);  
  LD_WriteReg(0x1D, LD_PLL_ASR_1D);
delay(10);

    LD_WriteReg(0xCD, 0x04);
// LD_WriteReg(0x17, 0x4c);
delay(5);
LD_WriteReg(0xB9, 0x00);
LD_WriteReg(0xCF, 0x4F);
LD_WriteReg(0x6F, 0xFF);
}
/************************************************************************
功能描述:   LD模塊 ASR功能初始化
入口參數:  none
返 回 值:   none
其他說明:  該函數為出廠配置,一般不需要修改;
      有興趣的客戶可對照開發手冊根據需要自行修改。
**************************************************************************/
void LD_Init_ASR()
{
LD_Init_Common();
LD_WriteReg(0xBD, 0x00);
LD_WriteReg(0x17, 0x48);
delay( 10 );
LD_WriteReg(0x3C, 0x80);   
LD_WriteReg(0x3E, 0x07);
LD_WriteReg(0x38, 0xff);   
LD_WriteReg(0x3A, 0x07);
  LD_WriteReg(0x40, 0);         
LD_WriteReg(0x42, 8);
LD_WriteReg(0x44, 0);   
LD_WriteReg(0x46, 8);
delay( 1 );
}
/************************************************************************
功能描述:  中斷處理函數
入口參數:  none
返 回 值:   none
其他說明: 當LD模塊接收到音頻信號時,將進入該函數,
      判斷識別是否有結果,如果沒有從新配置寄
            存器準備下一次的識別。
**************************************************************************/
void ProcessInt0(void)
{
uint8 nAsrResCount=0;
EX0=0;
ucRegVal = LD_ReadReg(0x2B);
LD_WriteReg(0x29,0) ;
LD_WriteReg(0x02,0) ;
if((ucRegVal & 0x10) &&
  LD_ReadReg(0xb2)==0x21 &&
  LD_ReadReg(0xbf)==0x35)   /*識別成功*/
{
  nAsrResCount = LD_ReadReg(0xba);
  if(nAsrResCount>0 && nAsrResCount<=4)
  {
   nAsrStatus=LD_ASR_FOUNDOK;
  }
  else
     {
   nAsrStatus=LD_ASR_FOUNDZERO;
  }
}                /*沒有識別結果*/
else
{  
  nAsrStatus=LD_ASR_FOUNDZERO;
}
  
  LD_WriteReg(0x2b, 0);
  LD_WriteReg(0x1C,0);/*寫0:ADC不可用*/
LD_WriteReg(0x29,0) ;
LD_WriteReg(0x02,0) ;
LD_WriteReg(0x2B,  0);
LD_WriteReg(0xBA, 0);
LD_WriteReg(0xBC,0);
LD_WriteReg(0x08,1);  /*清除FIFO_DATA*/
LD_WriteReg(0x08,0); /*清除FIFO_DATA后 再次寫0*/

EX0=1;
}
/************************************************************************
功能描述:  運行ASR識別流程
入口參數: none
返 回 值:  asrflag:1->啟動成功, 0—>啟動失敗
其他說明: 識別順序如下:
      1、RunASR()函數實現了一次完整的ASR語音識別流程
      2、LD_AsrStart() 函數實現了ASR初始化
      3、LD_AsrAddFixed() 函數實現了添加關鍵詞語到LD3320芯片中
      4、LD_AsrRun() 函數啟動了一次ASR語音識別流程     
      任何一次ASR識別流程,都需要按照這個順序,從初始化開始
**************************************************************************/
uint8 RunASR(void)
{
uint8 i=0;
uint8 asrflag=0;
for (i=0; i<5; i++)   // 防止由于硬件原因導致LD3320芯片工作不正常,所以一共嘗試5次啟動ASR識別流程
{
  LD_AsrStart();
  delay(50);
  if (LD_AsrAddFixed()==0)
  {
   LD_Reset();   // LD3320芯片內部出現不正常,立即重啟LD3320芯片
   delay(50);   // 并從初始化開始重新ASR識別流程
   continue;
  }
  delay(10);
  if (LD_AsrRun() == 0)
  {
   LD_Reset();   // LD3320芯片內部出現不正常,立即重啟LD3320芯片
   delay(50);   // 并從初始化開始重新ASR識別流程
   continue;
  }
  asrflag=1;
  break;     // ASR流程啟動成功,退出當前for循環。開始等待LD3320送出的中斷信號
}
return asrflag;
}
/************************************************************************
功能描述:  檢測LD模塊是否空閑
入口參數: none
返 回 值:  flag:1-> 空閑
其他說明: none
**************************************************************************/
uint8 LD_Check_ASRBusyFlag_b2()
{
uint8 j;
uint8 flag = 0;
for (j=0; j<10; j++)
{
  if (LD_ReadReg(0xb2) == 0x21)
  {
   flag = 1;
   break;
  }
  delay(10);  
}
return flag;
}
/************************************************************************
功能描述:  啟動ASR
入口參數: none
返 回 值:  none
其他說明: none
**************************************************************************/
void LD_AsrStart()
{
LD_Init_ASR();
}
/************************************************************************
功能描述:  運行ASR
入口參數: none
返 回 值:  1:啟動成功
其他說明: none
**************************************************************************/
uint8 LD_AsrRun()
{
EX0=0;
LD_WriteReg(0x35, MIC_VOL);
LD_WriteReg(0x1C, 0x09);
LD_WriteReg(0xBD, 0x20);
LD_WriteReg(0x08, 0x01);
delay( 1 );
LD_WriteReg(0x08, 0x00);
delay( 1 );
if(LD_Check_ASRBusyFlag_b2() == 0)
{
  return 0;
}
// LD_WriteReg(0xB6, 0xa); //識別時間  1S
// LD_WriteReg(0xB5, 0x1E); //背景音段時間 300ms
// LD_WriteReg(0xB8, 10); //結束時間
// LD_WriteReg(0x1C, 0x07); //配置雙通道音頻信號做為輸入信號
LD_WriteReg(0x1C, 0x0b); //配置麥克風做為輸入信號

LD_WriteReg(0xB2, 0xff);
delay( 1);
LD_WriteReg(0x37, 0x06);
delay( 1 );
    LD_WriteReg(0x37, 0x06);
  delay( 5 );
LD_WriteReg(0x29, 0x10);

LD_WriteReg(0xBD, 0x00);
EX0=1;
return 1;
}
/************************************************************************
功能描述: 向LD模塊添加關鍵詞
入口參數: none
返 回 值: flag:1->添加成功
其他說明: 用戶修改.
      1、根據如下格式添加拼音關鍵詞,同時注意修改sRecog 和pCode 數組的長度
      和對應變了k的循環置。拼音串和識別碼是一一對應的。
      2、開發者可以學習"語音識別芯片LD3320高階秘籍.pdf"中
           關于垃圾詞語吸收錯誤的用法,來提供識別效果。
      3、”xiao jie “ 為口令,故在每次識別時,必須先發一級口令“小捷”
**************************************************************************/
uint8 LD_AsrAddFixed()
{
uint8 k, flag;
uint8 nAsrAddLength;
#define DATE_A 11   /*數組二維數值*/
#define DATE_B 25  /*數組一維數值*/
uint8 code sRecog[DATE_A][DATE_B] = {
                    "bai jia lao niang men",\  
                    "kai ke ting deng",\
                    "guan ke ting deng",\
                    "kai dian shi ji",\
                    "guan dian shi ji",\
                     "kai wo shi deng",\
                     "guan wo shi deng",\
                     "kai can ting deng",\
                     "guan can ting deng",\
                     "kai chu fang deng",\
                     "guan chu fang deng"
                   }; /*添加關鍵詞,用戶修改*/
uint8 code pCode[DATE_A] = {
               CODE_CMD,\
               CODE_KKTD,\
               CODE_GKTD,\
               CODE_KDSJ,\
               CODE_GDSJ,\
               CODE_KWSD,\
               CODE_GWSD,\
               CODE_KCTD,\
               CODE_GCTD,\  
               CODE_KCFD,\
               CODE_GCFD,

               }; /*添加識別碼,用戶修改*/
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;
}
/************************************************************************
功能描述:  獲取識別結果
入口參數: none
返 回 值:  LD_ReadReg(0xc5 );  讀取內部寄存器返回識別碼。
其他說明: none
**************************************************************************/
uint8 LD_GetResult()
{  
return LD_ReadReg(0xc5 );
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:79154 發表于 2015-5-27 08:35 | 只看該作者
/***********************************************************************************/
回復

使用道具 舉報

板凳
ID:1 發表于 2015-5-27 15:10 | 只看該作者
詳細解說一下程序存在什么問題?還有電路圖呢 ?
回復

使用道具 舉報

地板
ID:79154 發表于 2015-5-27 16:09 | 只看該作者
admin 發表于 2015-5-27 15:10
詳細解說一下程序存在什么問題?還有電路圖呢 ?

編好的語言不能識別,
回復

使用道具 舉報

5#
ID:79154 發表于 2015-5-27 16:10 | 只看該作者
編好的語言不能識別,IO控制不了

YS-LDV7語音識別模塊原理圖.pdf

86.42 KB, 下載次數: 4

評分

參與人數 1黑幣 +35 收起 理由
admin + 35 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:81573 發表于 2015-5-30 15:14 | 只看該作者
看不懂
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级片在线视频 | 免费一区二区三区 | 91亚洲国产成人精品一区二三 | 日韩欧美在 | 成人在线国产 | 亚洲一区二区三区免费视频 | 日本天天色| 亚洲精久久久 | 国产精品久久久久久久久久 | 一本一道久久a久久精品蜜桃 | 亚洲国产成人av好男人在线观看 | 欧美在线观看免费观看视频 | 欧美特级黄色 | 成人激情视频免费在线观看 | 国产91黄色| 亚洲综合日韩精品欧美综合区 | 国产一区二区三区 | 欧美一级欧美三级在线观看 | 亚洲综合久久精品 | 中文字幕一区在线观看视频 | 欧美午夜视频 | 特黄特色大片免费视频观看 | 精品免费国产一区二区三区四区 | 在线观看www| 夜夜骑首页 | 国产精品视频一区二区三区四蜜臂 | 精品综合久久久 | 免费在线成人 | 成人性生交大片免费看r链接 | 久久一区二区三区免费 | 国产视频一区二区 | av网站免费 | 波多野结衣av中文字幕 | 理论片87福利理论电影 | 香蕉视频一区二区 | 很很干很很日 | 久久av资源网 | 日韩区| 中文字幕在线观看国产 | 91久久精品国产91久久 | 亚洲久久 |