基于天问block编译环境下ASRPRO语音芯片程序编写教程(二)语音识别,GPIO输入输出,PWM输出篇
本篇教程将基于天问block内的官方范例代码讲解如何编写ASRPRO语音芯片程序以实现语音识别,GPIO输入输出和PWM输出功能。
1.智能语音对话
该程序中添加识别词功能添加命令词选项(黑色部分)为语音识别功能的核心,通过设定命令词和回复语音实现基础语音对话,通过对于语音识别ID的运用实现根据语音信息控制单片机实现不同功能。
语音识别程序正常情况下会在一定时间内未接受语音识别信息后进入休眠状态,此时会播报预设的退出语音,可使用预设的唤醒词进行唤醒,在左边程序块选择区域语音识别选项中可选择设置唤醒退出时间,在标准模式选项可选择唤醒词唤醒程序块将唤醒词唤醒选项改为永远唤醒模式,此状态下语音识别程序将不会自动休眠。
同时可以使用语音识别选项中的程序块在后续程序中在一定时间内唤醒语音识别程序或使语音识别程序强行休眠,还能强行播报预设的命令词回复语音和改变语音音量,标准模式选项中的程序块在程序中直接播报预设语音和播报数字或号码。
注意:每次修改和新建语音识别信息之后需使用界面上方的生成模型功能生成语音识别模型之后才能进行程序烧录。
2.语音控制GPIO输出
上方为使用语音识别开关板载LED灯的代码
上方为使用语音识别控制不同引脚输出高,低电平脉冲信号的程序。
需要特别注意的是在官方代码中引脚的复用功能未显示不同引脚的功能是那些,而在我们编写程序时选择引脚后可根据后面括号内的循序选择复用功能为第几功能,其中引脚的GPIO输入输出默认为第一功能,因此括号内的排序从第二功能开始,如下图中UART1_TX为第四功能故选择FORTH_FUNCTION选项使PA_2引脚复用为串口1输出引脚。
PA0、PA1 默认为晶振引脚,输入 模式,PC1、PC2、PC3、PC4 默认为 ADC 引脚,输入模式,这些引脚若要在GPIO输入输出中使用需先设置为数字引脚,就需要设置为数字引脚模式。
同时也可以在GPIO选项中选择程序块将所选引脚设置为上,下拉信号触发模式,也可以将引脚设置为开漏或开漏无效模式,从而实现各种更复杂的功能。
3.语音控制PWM输出
PWM程序语句中的占空比与最大占空比之间的比值决定PWM输出后所驱动的外设的运行能力,
最大占空比不变的情况下占空比越大,PWM输出连接的外设功率越大。
4.GPIO输入检测
将设置为输入模式的引脚所接收到的电平信号通过读取引脚程序块放入等式与预设的数值进行比较,1为高电平,0为低电平,若等式成立则执行后续程序,从而达到检测引脚连接的电平信号的效果。
由于ASRPRO语音识别芯片支持程序多线程运行导致中断不常用,因而不再在教程里进行讲述,在后续的教程中我将介绍多线程模块,串口通信和ADC数值读入等功能的实现方法。
基于天问block编译环境下ASRPRO语音芯片程序编写教程(二)语音识别,GPIO输入输出,PWM输出篇相关推荐
- 基于天问block编译环境下ASRPRO语音芯片程序编写教程(一)软件下载与基础程序语句篇
ASRPRO芯片是针对低成本离线语音应用方案开发的一款通用.便携.低功耗高性能的语音识别芯片,采用了第三代 BNPU 技术,能支持 DNN\TDNN\RNN 等神经网络及卷积运算,支持语音识别.声纹识 ...
- 基于天问block编译环境下ASRPRO语音芯片程序编写教程(三)串口通信,多线程模块,ADC篇
本篇教程将基于天问block内的官方范例代码讲解如何编写ASRPRO语音芯片程序以实现串口通信多线程模块编程和ADC数据读入功能. 1.串口通信 ASRPRO语音芯片具有3组可用串口(UART1对应P ...
- 基于CMake构建MSVC_CUDA及MinGW编译环境下的的OpenCV项目
前言 第一次搭建OpenCV开发环境的时候各种报错,内心那个烦啊,简直了.当时只能针对某个特定的错误去寻找特定的解决方法,在OpenCV构建过程中出现最多的问题就是各个模块文件的下载问题,本质上这类问 ...
- Adopt Open JDK官方文档(四)基于虚拟机的编译环境
4.基于虚拟机的编译环境 准备工作 编译你自己的虚拟机 编译你自己的轻量级虚拟机 在Host 与 Guest VM 之间共享文件 适用于 OpenJDK 8 的Vagrant Puppet 环境 4. ...
- 成功解决VS编译环境下C++语言出现的异常提示:烫烫烫烫烫烫烫烫烫烫
成功解决VS编译环境下C++语言出现的异常提示:烫烫烫烫烫烫烫烫烫烫 目录 解决问题 解决方法 解决问题 解决方法 "烫"常出现在Windows环境下,执行越界访问的程序,会打印出 ...
- 让计算机网络与作文教学,“基于计算机和网络环境下的写作教学研究”课题组 2015-2016学年度上学期研究计划...
白洋中心湖美小学"基于计算机和网络环境下的写作教学研究"课题组 2015-2016学年度上学期研究计划 根据<诏安县2015年度校级基础教育课程教学研究课题立项名单公布> ...
- 在Keil MDK编译环境下使用UEstudio编写程序
在Keil MDK编译环境下使用UEstudio编写程序 由于一些原因目前只能使用ulink2来调试arm微处理器,因此不得不放弃iar与jlink.转入MDK的阵营后,为了减小对自己的习惯的影响,今 ...
- 基于纹理的复杂环境下道路消失点检测算法
个人博客:wyxogo.top 标题 基于纹理的复杂环境下道路消失点检测算法 年份: 2014 年 6 月 GB/T 7714: [1]傅重添, 杨健, 路飞飞. 基于纹理的复杂环境下道路消失点检测算 ...
- linux编译环境下,华为LiteOS初体验(STM32F407)
linux编译环境下,华为LiteOS初体验(STM32F407) 1.概述 系统:Ubuntu22.04,linux版本号如下 Linux linux 5.15.0-40-generic #43-U ...
最新文章
- python django 优势_那么多人选择Python,它的优势,缺点有哪些?
- python list 换位置_【已解决】Python中把list换成set
- 机器学习中的数据集划分问题
- Java 集合系列(2): ArrayList源码深入解析和使用示例
- 在windows和linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等
- 开发移动端web页面click事件失效问题
- P3768 简单的数学题 [狄利克雷卷积,杜教筛,莫比乌斯反演]
- 开源GIS---.Net系列
- python海龟绘图圆形_python之海龟绘图
- B站2021品牌营销手册
- 《BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding》
- c语言随机读写信息fetch,北京大学信息科学技术学院考试试卷-计算机系统导论-期中-2015(16页)-原创力文档...
- DSP编程的一些优化技巧和注意事项
- 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——F题 成绩查询ing
- 在docker 中配置hadoop1.2.1 cluser
- 细算经典网游私服新作下刀的“手术”
- nodejs项目_基于NodeJS从零构建线上自动化打包工作流
- 50个高端大气上档次的管理后台界面模板
- iOS开发面试和底层学习视频整理合集
- 运维(6) Nacos开启连接密码安全认证