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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STM32+LD3320實現語音識別與人機對話的源程序

  [復制鏈接]
跳轉到指定樓層
樓主
LD3320程序代碼

單片機源程序如下:
  1. #include "main.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "sd.h"
  5. #include "ff.h"   
  6. #include "ld3320.h"
  7. #include "mp3.h"
  8. #include "led.h"
  9. #include "asr.h"

  10. FATFS fs[_VOLUMES];     //邏輯磁盤工作區.文件系統默認支持3個磁盤,我們只用了一個 SD編號0

  11. int main(void)
  12. {                                          
  13.         u8 nAsrRes=0;                      //記錄識別碼
  14.         
  15.         delay_init();                               //延時初始化
  16.         Usart1_init(115200);                   //串口初始化波特率為115200
  17.         LED_Init();                            //LED初始化
  18.         while(SD_Init())                   //SD卡初始化
  19.         {
  20.                 printf("SD卡初始化錯誤\r\n");  //串口提示SD卡初始化錯誤
  21.                 delay_ms(2000);                //延時2s
  22.         }
  23.         f_mount(&fs[0],"0:",1);                //掛載SD卡        
  24.         LD3320_Init();                           //初始化LD3320
  25.                
  26.         printf(" 口令1:重啟系統\r\n ");
  27.         printf(" 口令2:講個笑話\r\n ");
  28.         printf(" 口令3:打開\r\n ");
  29.         printf(" 口令4:關閉\r\n ");
  30.         nAsrStatus = LD_ASR_NONE;                     //初始狀態:沒有在作ASR
  31.         
  32.         PlayDemoSound_mp3("系統準備.mp3");   //播放文件

  33.         while(1)
  34.         {
  35.              switch(nAsrStatus)
  36.                 {
  37.                         case LD_ASR_RUNING:            
  38.                                                                                         break;
  39.                         
  40.                         case LD_ASR_ERROR:                        
  41.                                                                                         break;
  42.                         
  43.                         case LD_ASR_NONE:                                nAsrStatus=LD_ASR_RUNING;              //啟動一次ASR識別流程:ASR初始化,ASR添加關鍵詞語,啟動ASR運算
  44.                                                                                         if (RunASR()==0)                  
  45.                                                                                         {                        
  46.                                                                                                 printf("ASR_ERROR\r\n");
  47.                                                                                                 nAsrStatus = LD_ASR_ERROR;
  48.                                                                                         }
  49.                                                                                         break;

  50.                         case LD_ASR_FOUNDOK:                        nAsrRes = LD_ReadReg(0xc5);                    //一次ASR識別成功結束,取ASR識別結果                                                                                                                                                                                                
  51.                                                                                         switch(nAsrRes)                  
  52.                                                                                         {
  53.                                                                                                 case CODE_CQXT: printf("接收到口令:重啟系統\r\n");
  54.                                                                                                                                 PlayDemoSound_mp3("重啟.mp3");   //播放文件
  55.                                                                                                                                 NVIC_SystemReset();              //重啟
  56.                                                                                                                                 break;
  57.                                                                                                 case CODE_JGXH:        printf("接收到口令:講個笑話\r\n");
  58.                                                                                                                                 PlayDemoSound_mp3("笑話.mp3");   //播放文件
  59.                                                                                                                                 break;        
  60.                                                                                                 case CODE_DK:        printf("接收到口令:打開\r\n");
  61.                                                                                                                     PlayDemoSound_mp3("打開.mp3");       //播放文件
  62.                                                                                                                                 delay_ms(1000);                      //語音中提示是1s延時后,打開LED
  63.                                                                                                                                 LED_D3=0;
  64.                                                                                                                                 LED_D4=0;
  65.                                                                                                                                 break;        
  66.                                                                                                 case CODE_GB:        printf("接收到口令:關閉\r\n");
  67.                                                                                                                                 PlayDemoSound_mp3("關閉.mp3");       //播放文件
  68.                                                                                                                                 delay_ms(1000);                      //語音中提示是1s延時后,關閉LED
  69.                                                                                                                                 LED_D3=1;
  70.                                                                                                                                 LED_D4=1;
  71.                                                                                                                                 break;                                                                                                        
  72.                                                                                                 default:        printf("不在口令集之內\r\n");
  73.                                                                                                                                 break;
  74.                                                                                         }        
  75.                                                                                         nAsrStatus = LD_ASR_NONE;
  76.                                                                                         break;
  77.                                                                                        
  78.                         case LD_ASR_FOUNDZERO:          printf("未知口令\r\n");
  79.                                                                                         nAsrStatus = LD_ASR_NONE;
  80.                                                                                         break;
  81.                                                                                        
  82.                         default:                                                nAsrStatus = LD_ASR_NONE;
  83.                                                                                         break;
  84.                         }
  85.         }               
  86. }



復制代碼

所有資料51hei提供下載:
程序源碼.rar (1.22 MB, 下載次數: 249)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:286053 發表于 2019-4-6 15:13 | 只看該作者
看著非常的贊
回復

使用道具 舉報

板凳
ID:602314 發表于 2019-8-21 11:54 | 只看該作者
感謝分享
回復

使用道具 舉報

地板
ID:583948 發表于 2019-9-14 19:00 | 只看該作者
兄弟,怎么接線呢?
回復

使用道具 舉報

5#
ID:602314 發表于 2019-9-15 23:49 | 只看該作者
正在解決播放MP3不全的問題,感謝樓主分享
回復

使用道具 舉報

6#
ID:428438 發表于 2019-9-16 10:29 | 只看該作者
不錯,我也想嘗試一下。
回復

使用道具 舉報

7#
ID:438853 發表于 2019-10-7 22:36 | 只看該作者
zpwgf 發表于 2019-9-14 19:00
兄弟,怎么接線呢?

同問 層主知道怎么接了嗎
回復

使用道具 舉報

8#
ID:69091 發表于 2020-1-20 16:04 | 只看該作者
新手 謝謝分享。
回復

使用道具 舉報

9#
ID:428388 發表于 2020-4-25 17:43 | 只看該作者
可以實現對話嗎?
回復

使用道具 舉報

10#
ID:743244 發表于 2020-5-3 12:10 | 只看該作者
感謝分享
回復

使用道具 舉報

11#
ID:834236 發表于 2021-4-23 18:56 | 只看該作者
怎么接線啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本午夜网| 国产精品99免费视频 | 美女操网站| 亚洲精品www久久久 www.蜜桃av | 欧美在线一区二区三区 | 国产在线中文字幕 | 四虎影视1304t | 日韩一区二区福利视频 | 91av在线看| 欧美国产视频一区二区 | 精品欧美乱码久久久久久 | 国产999在线观看 | 日韩欧美亚洲 | 91成人免费观看 | 欧美日韩亚洲一区 | 亚洲伊人久久综合 | 日韩一区二区三区在线视频 | 一级做a爰片久久毛片 | 一级久久久久久 | 色婷婷亚洲一区二区三区 | 91超碰在线观看 | 久久99精品久久久久久国产越南 | 国产精品jizz在线观看老狼 | yiren22 亚洲综合 | 欧美 日韩 国产 一区 | 日本不卡免费新一二三区 | 欧美久久视频 | 国产精品久久亚洲 | 精品国产aⅴ | 欧美一级网站 | 欧美日韩高清一区二区三区 | av网站在线播放 | 四虎永久免费地址 | 免费久久久久久 | 亚洲国产精品一区二区三区 | 日韩成人影院在线观看 | 亚洲精品专区 | 一区二区三区四区免费观看 | 成人免费观看视频 | 成人欧美一区二区三区在线播放 | 成人在线观看免费 |