《嵌入式 - 语音识别TWen-ASR-ONE开发笔记》第5章 TWen-ASR-ONE 串口使用

article/2025/11/8 16:09:42

5.1 TWen-ASR-ONE 串口简介

关于串口我这里就不再赘述了,我相信搞过嵌入式的朋友经常会用到。

笔者这里简单介绍下TWen-ASR-ONE 串口。

TWen-ASR-ONE 开发板两路串口:串口0和串口1。串口0引脚是固定在P1_7、P2_0,而串口1可以设置在P0_5、P0_6;P2_1、P2_2;P3_0、P3_1。如下图所示:

在这里插入图片描述

5.2 TWen-ASR-ONE串口打印实例

TWen-ASR-ONE使用的串口0作为调试下载口,笔者这里还是使用串口0打印输出。
串口有以下设置块。

在这里插入图片描述

串口通信主要是串口设置,接收数据和发送数据,还是比较简单的。

下面直接给出一个实例,在该实例中,根据不同的命令,串口输出相应字符串。

图形代码如下:

在这里插入图片描述

字符代码如下:

#include "asr.h"
#include "setup.h"
#include "myLib/asr_event.h"uint32_t snid;//{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"}
//{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"}
//{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"}
void ASR_CODE()
{//{ID:29,keyword:"唤醒词",ASR:"智能管家",ASRTO:"我在"}if(snid == 29){Serial.println("1");}//{ID:30,keyword:"命令词",ASR:"打开风扇",ASRTO:"风扇已打开"}if(snid == 30){Serial.println("2");}//{ID:31,keyword:"命令词",ASR:"关闭风扇",ASRTO:"风扇已关闭"}if(snid == 31){Serial.println("3");}//{ID:32,keyword:"命令词",ASR:"最大风速",ASRTO:"已执行"}if(snid == 32){Serial.println("4");}//{ID:33,keyword:"命令词",ASR:"中等风速",ASRTO:"已执行"}if(snid == 33){Serial.println("5");}//{ID:34,keyword:"命令词",ASR:"最小风速",ASRTO:"已执行"}if(snid == 34){Serial.println("6");}//{ID:35,keyword:"命令词",ASR:"风扇摇头",ASRTO:"已执行"}if(snid == 35){Serial.println("7");}//{ID:36,keyword:"命令词",ASR:"风扇停止",ASRTO:"已执行"}if(snid == 36){Serial.println("8");}
}void setup()
{//作为语音识别传感器,通过串口输出识别ID,供其他主控判断//Serial为USB下载端口,Serial1为P30(RX)、P31(TX)//{speak:小蝶-清新女声,vol:10,speed:10,platform:haohaodada}//{playid:10001,voice:欢迎使用智能管家,用智能管家唤醒我。}//{playid:10002,voice:我退下了,用智能管家唤醒我}Serial.begin(9600);Serial.setTimeout(10);
}

编译下载。

最后的效果如下:

我:智能管家
TWen-ASR-ONE: 我在
我:打开风扇
TWen-ASR-ONE:风扇已打开
我:关闭风扇
TWen-ASR-ONE:风扇已关闭

打开串口调试助手,可以看到相应字符输出。

在这里插入图片描述




欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎


欢迎订阅我的微信公众号

关注公众号[嵌入式实验楼]获取更多资讯


http://chatgpt.dhexx.cn/article/i81VfAtc.shtml

相关文章

Android导航语音识别——读后听写语音识别(嵌入式)

嵌入式项目之Android语音识别——读后听写语音识别(语音识别功能主函数调用) 文章目录 前言一、代码示例二、代码分析 1.创建 SpeechSynthesizer 对象2.设置合成参数3.开始合成4.设置合成状态监听器5.五个speakText类函数的作用总结 前言 最近在学习嵌入…

嵌入式语音识别智能家居笔记1

1.环境 VMware 15.5 Ubuntu18.04 Qt安装包 2.共享目录设置 VMware->虚拟机->设置->选项->共享文件夹 3. QT的linux安装包:qt-opensource-linux-x64-5.9.1.run 复制到共享目录 打开终端: cd /mnt/hgfs/share sudo ./qt-opensour…

嵌入式语音识别系统之电路设计原理

现在社会发展的这么快,什么高科技都涌现出来,什么智能机器人啦,智能手机等,有很多在这里就不一一列举了,在这里我们要说的就是语音识别系统了,现在嵌入式产品如此的多,就像一些智能空调啦&#…

我们基于kaldi开发的嵌入式语音识别系统升级成深度学习啦

先前的文章《三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的 》说我们花了不到三个月的时间搭了一个基于kaldi的嵌入式语音识别系统,不过它是基于传统的GMM-HMM的,是给我们练手用的,通过搭这个系统我们累积了一定的语音…

三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的

前面的博客里说过最近几个月我从传统语音(语音通信)切到了智能语音(语音识别)。刚开始是学语音识别领域的基础知识,学了后把自己学到的写了PPT给组内同学做了presentation(语音识别传统方法(GMMHMMNGRAM)概…

【毕业设计】基于stm32的语音识别 - 单片机 嵌入式 物联网 语音识别

文章目录 0 简介1 项目目标2 项目背景意义3 需求分析3.1 功能性需求3.2 非功能性需求 4 设备器件4.1 STM32单片机4.2 LD3320语音识别芯片4.3 TFT-LCD液晶显示屏 5 设计方案6 语音识别模块的开发7 报警电路模块的开发8 上位机模块的开发9 项目成果9 最后 0 简介 Hi,…

基于80251的嵌入式语音识别

一、文档介绍 嵌入式语音识别技术在251内核的实现。 缩写、术语 解 释 Specific Person Isolated Word Speech Recognition 特定人孤立词语音识别 Endpoint detection 端点检测 Feature parameter extraction 特征参数提取 DTW (Dynamic Time Warping) 动态时间规整…

嵌入式linux 声控,基于Cortex-A9的嵌入式语音识别系统设计

打开文本图片集 摘 要:在人工智能技术发展的进程中,语音识别已经成为重要分支之一。语音识别技术作为人与机器的一种交互方式,将前端处理之后的信号转换成文本或者指令,进而用于控制相关智能设备。当前,基于深度学习的云端语音识别技术已经逐渐成熟,但考虑到离线设备无法…

《嵌入式 - 语音识别TWen-ASR-ONE开发笔记》第3章 TWen-ASR-ONE 多线程和消息队列

3.1 Scratch简介 在开始本章之前,需要介绍下TWen-ASR-ONE的用户开发语言-Scratch,Scratch是麻省理工学院开发的一款简易图形化编程工具主要是为青少年开发的一种编程工具,它图形化编程工具当中最广为人知的一种形式,所有人都可以…

Android导航语音识别——语音听写(嵌入式)

嵌入式项目之Android导航语音识别——语音听写 文章目录 系列文章目录前言一、原理流程图二、语音听写 1.初始化无ui识别听写2.设置识别监听器3.启动功能总结 前言 最近在学习嵌入式系统的一个功能——导航语音识别,该功能是基于Android和科大讯飞语音识别语音合成…

static的三个作用

static作用 一、修饰局部变量-静态局部变量二、修饰全局变量-静态全局变量三、修饰函数-静态函数四、总结和注意点 一、修饰局部变量-静态局部变量 static修饰局部变量时,改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束&…

java中的静态变量的作用域_详解JAVA中static的作用

1、深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用;如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的;如果是说 可以构成 静态代码块,那别人认为你还可以; 如果你说可以构成 静态内部类, 那别人认为你不错;如果你说了静态导包,那别人认为你…

express.static 作用及用法

express相信是很多人用nodejs搭建服务器的首选框架,相关教程有很多,也教会了大家来如何使用。如果你想更深的了解他的细节,不妨和我一起来研究一下。 先来看一个每个人都用到的方法app.use(express.static(__dirname/public)); 你肯定在你的a…

java static的作用

static是什么 static是java中的关键字,static表示”全局”、“静态”的意思,用来修饰成员变量和成员方法,定义的变量,我们通常将用static修饰的成员称为静态变量,静态方法或者静态成员。 static的作用 被static修饰…

static的作用有哪些?

C语言中的static的作用有:1.修饰局部变量。2.修饰全局变量。3.修饰函数。 1.修饰局部变量。 如图: 当只用int 定义变量a时,此时程序运行结果为: 程序运行结果为10个2,这是为什么呢?? 原因是此时的变量a为…

C语言中 static作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。隐藏保持数据持久初始化为0 该图是下面文字的总结: 1.先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前…

C语言中static作用

1,static修饰局部变量 在局部变量之前加上关键字static,局部变量就被定义成为一个局部静态变量。 特点如下: 1)存储区:由于栈变为静态存储区rw data,生存期为整个源程序,只能在定义该变量的函数内使用。退出该函…

对DSP的基本了解(一)--DSP是什么?

Preface:在学习一个新东西之前,我们需要对一些基本概念或者专业术语进行基本的理解,这样才能扫除壁垒,让学习更加高效。因此,DSP学习系列首先会比较注重对DSP相关术语上的理解。所以最开始,我们先来学习一些…

DSP学习

DSP数字电源学习一 软件环境搭建相关硬件资源TMS320C28x 32 位 CPU可编程控制律加速器 (CLA)片上存储器时钟和系统控制1.2V 内核、3.3V I/O 设计系统外设通信外设模拟系统 软件相关控制算法数据记录功能代码示例MathWorks Simulink 模型文档 由于最近工作需要,需要学…

DSP/BIOS详解入门

DSP/BIOS详解入门 百度百科DSPBIOS DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是TI公司的Code Composer StudioTM开发工具的组成部分之一。 DSP/BIOS 实时操作…