本篇教程將基于天問block內(nèi)的官方范例代碼講解如何編寫ASRPRO語音芯片程序以實現(xiàn)語音識別,GPIO輸入輸出和PWM輸出功能。
1.智能語音對話
?該程序中添加識別詞功能添加命令詞選項(黑色部分)為語音識別功能的核心,通過設(shè)定命令詞和回復(fù)語音實現(xiàn)基礎(chǔ)語音對話,通過對于語音識別ID的運用實現(xiàn)根據(jù)語音信息控制單片機(jī)實現(xiàn)不同功能。
語音識別程序正常情況下會在一定時間內(nèi)未接受語音識別信息后進(jìn)入休眠狀態(tài),此時會播報預(yù)設(shè)的退出語音,可使用預(yù)設(shè)的喚醒詞進(jìn)行喚醒,在左邊程序塊選擇區(qū)域語音識別選項中可選擇設(shè)置喚醒退出時間,在標(biāo)準(zhǔn)模式選項可選擇喚醒詞喚醒程序塊將喚醒詞喚醒選項改為永遠(yuǎn)喚醒模式,此狀態(tài)下語音識別程序?qū)⒉粫詣有菝摺?/p>
同時可以使用語音識別選項中的程序塊在后續(xù)程序中在一定時間內(nèi)喚醒語音識別程序或使語音識別程序強(qiáng)行休眠,還能強(qiáng)行播報預(yù)設(shè)的命令詞回復(fù)語音和改變語音音量,標(biāo)準(zhǔn)模式選項中的程序塊在程序中直接播報預(yù)設(shè)語音和播報數(shù)字或號碼。
?
注意:每次修改和新建語音識別信息之后需使用界面上方的生成模型功能生成語音識別模型之后才能進(jìn)行程序燒錄。
2.語音控制GPIO輸出
?上方為使用語音識別開關(guān)板載LED燈的代碼
上方為使用語音識別控制不同引腳輸出高,低電平脈沖信號的程序。
需要特別注意的是在官方代碼中引腳的復(fù)用功能未顯示不同引腳的功能是那些,而在我們編寫程序時選擇引腳后可根據(jù)后面括號內(nèi)的循序選擇復(fù)用功能為第幾功能,其中引腳的GPIO輸入輸出默認(rèn)為第一功能,因此括號內(nèi)的排序從第二功能開始,如下圖中UART1_TX為第四功能故選擇FORTH_FUNCTION選項使PA_2引腳復(fù)用為串口1輸出引腳。
?
PA0、PA1 默認(rèn)為晶振引腳,輸入 模式,PC1、PC2、PC3、PC4 默認(rèn)為 ADC 引腳,輸入模式,這些引腳若要在GPIO輸入輸出中使用需先設(shè)置為數(shù)字引腳,就需要設(shè)置為數(shù)字引腳模式。
?
?同時也可以在GPIO選項中選擇程序塊將所選引腳設(shè)置為上,下拉信號觸發(fā)模式,也可以將引腳設(shè)置為開漏或開漏無效模式,從而實現(xiàn)各種更復(fù)雜的功能。
?3.語音控制PWM輸出
?PWM程序語句中的占空比與最大占空比之間的比值決定PWM輸出后所驅(qū)動的外設(shè)的運行能力,
最大占空比不變的情況下占空比越大,PWM輸出連接的外設(shè)功率越大。
4.GPIO輸入檢測
將設(shè)置為輸入模式的引腳所接收到的電平信號通過讀取引腳程序塊放入等式與預(yù)設(shè)的數(shù)值進(jìn)行比較,1為高電平,0為低電平,若等式成立則執(zhí)行后續(xù)程序,從而達(dá)到檢測引腳連接的電平信號的效果。文章來源:http://www.zghlxwxcb.cn/news/detail-443367.html
由于ASRPRO語音識別芯片支持程序多線程運行導(dǎo)致中斷不常用,因而不再在教程里進(jìn)行講述,在后續(xù)的教程中我將介紹多線程模塊,串口通信和ADC數(shù)值讀入等功能的實現(xiàn)方法。文章來源地址http://www.zghlxwxcb.cn/news/detail-443367.html
到了這里,關(guān)于基于天問block編譯環(huán)境下ASRPRO語音芯片程序編寫教程(二)語音識別,GPIO輸入輸出,PWM輸出篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!