LD3320 是一颗基于非特定人语音识别(SI-ASR:Speaker-Independent Automatic SpeechRecognition)技术的语音识别/声控芯片。提供了真正的单芯片语音识别解决方案。LD3320 芯片上集成了高精度的 A/D 和 D/A 接口,不再需要外接辅助的 Flash 和RAM,即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以动态编辑的。基于 LD3320,可以在任何的电子产品中,甚至包括最简单的 51 作为主控芯片的系统中,轻松实现语音识别/声控/人机对话功能。为所有的电子产品增加 VUI (Voice User Interface)语音用户操作界面。
主要特色功能:
1. 非特定人语音识别技术: 不需要用户进行录音训练可动态编辑的识别关键词语列表: 只需要把识别的关键词语以字符串的形式传送进芯片,即可以在下次识别中立即生效。比如,用户在 51 等 MCU 的编程中,简单地通过设置芯片的寄存器,把诸如“你好”这样的识别关键词的内容动态地传入芯片中,芯片就可以识别这样设定的关键词语了。
2. 真正单芯片解决方案: 不需要任何外接的辅助 Flash 和 RAM,真正降低系统成本。内置高精度 A/D 和 D/A 通道: 不需要外接 AD 芯片,只需要把麦克风接在芯片的 AD 引脚上;可以播放声音文件,并提供 550mW 的内置放大器。高准确度和实用的语音识别效果。
3. 支持用户自由编辑 50 条关键词语条: 在同一时刻,最多在 50 条关键词语中进行识别,终端用户可以根据场景需要,随时编辑和更新这 50 条关键词语的内容。
以上纯粹废话,能看到这里的说明都是有耐心的人哈,下边直接上干货,有手就行,轻松拿捏LD3320这个模块,喜欢的话点赞收藏加关注哈
硬件上没什么好说的,LD3320可以直接用USB转TTL模块,也就是所谓的CH340下载,接线也很简单,这是我用的LD3320哈,可能不同商家的不太一样,但是原理肯定是一样的,用的单片机肯定也是STC11L..X的,所以不用担心哈,下载的时候只需要将上边的5V接上CH340的5V或者VCC,GND接GND,TX接RX,RX接TX,这样就能进行下载了,下载我用的是宏晶的STC-ISP,这就是硬件的全部了。


当然,有的朋友喜欢用LD3320上的IO口来控制东西,这个也是可以的哈,但是我是不太喜欢的,因为LD3320毕竟功能比较局限,我还是喜欢和STM32通信后用32来控制,比如PWM这种功能。
下边就来讲讲代码部分。
我的LD3320是在某宝上买的,店家都会给资料的,这里发不出来,想要链接的朋友可以私信我哈,我看到都会回的,首先我讲讲我的代码框架
由LD3320进行语音识别,然后进行串口通信,将数据发送给STM32,STM进行数据接收判断,然后再进行对应操作,如输出PWM或者高低电平或者OLED显示什么的。
LD3320部分可操作的代码不多,很多都是不用看的,以我这份为例,可操作的地方只有几处。
位于LDChip.c里,用来做识别的代码,LD3320采用的是拼音识别,也就是你希望它识别什么,你就输入什么。
第一个就是数据的数量和宽度,上边的13是数量,30是宽度,宽度可以超出拼音的长度一些,但是不能超太多,不然会报错,下边就是对应的指令了,记住除了最后一个指令,其他指令后边都有,\,下边的那些CODE_...都是自己起的名字,有多少个指令就起多少个,除了第一个CODE_CMD不能改,其他的都随便改随便加。

第二处就是这个地方,在LDChip.c对应的LDChip.h里,这个和前边是对应的,只是对CODE_..进行一个声明,但是这个是必需的,值的话就随便,只要不重复就行,最后还是CODE_CMD不能改。下边是灵敏度调节,图上都讲有哈。

第三处就是在主函数main.c里,就是通信函数处理,有个用户处理函数,其他的都不用改,只需要在switch——case里多加几个判断条件哈,然后通信发送函数也是有的,改改发送数据就好了。
这些就是LD3320的所有部分哈,简单明了。
32部分也不难,学过32的都知道串口通信,也就是配置个串口,接收LD3320传过来的数据,再进行if判断,然后进行处理,串口配置我这也有,当然我这个是C8T6的,用其他的型号记得看看原理图对不对应得上哈,我记得ZET6和RTC6应该也是可以对应的。
void UART1_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_Init(USART1, &USART_InitStructure);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_Init(&NVIC_InitStructure);
USART_Cmd(USART1, ENABLE);
}
这就是串口配置,我用的串口1哈
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
{
uint8_t rx_data = USART_ReceiveData(USART1);
if(rx_data == 'a') //LED1 0
{
a=1;
}
if(rx_data == 'b') //LED1 1
{
a=2;
}
if(rx_data == 'c') //LED1 2
{
a=3;
}
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}
}
这是中断服务函数,当然这里只有一些判断,然后做完判断后会发现哈,接收到不同的数据,a的值就不一样,这样就可以用来做判断哈,在主函数里执行就好了,如图

分享就到这里哈,如果有兴趣,或者需要资料,想学习交流的话,可以直接私信我,记得点赞收藏加关注哈。
文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,
前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型
LL库和HAL库简介LL:Low-Layer,底层库HAL:HardwareAbstractionLayer,硬件抽象层库LL库和hal库对比,很精简,这实际上是一个精简的库。LL库的配置选择如下:在STM32CUBEMX中,点击菜单的“ProjectManager”–>“AdvancedSettings”,在下面的界面中选择“AdvancedSettings”,然后在每个模块后面选择使用的库总结:1、如果使用的MCU是小容量的,那么STM32CubeLL将是最佳选择;2、如果结合可移植性和优化,使用STM32CubeHAL并使用特定的优化实现替换一些调用,可保持最大的可移植性。另外HAL和L
2022年底,OpenAI的预训练模型ChatGPT给人工智能领域的爱好者和研究人员留下了深刻的印象和启发,他展现的惊人能力将人工智能的研究和应用热度推向高潮,网上也充斥着和ChatGPT的各种聊天,他可以作诗、写小说、写代码、讨论疫情问题等。下面就是一些他的神回复:人命关天的坑: 写歌,留给词作者的机会不多了。。。 回答人类怎么样面对人工智能: 什么是ChatGPT?借用网上的一段介绍,ChatGPT是由人工智能研究实验室OpenAI在2022年11月30日发布的全新聊天机器人模型,一款人工智能技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动
摘要本论文主要论述了如何使用Python技术开发一个短视频智能推荐,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述短视频智能推荐的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。 短视频智能推荐的主要使用者分为管理员和用户,实现功能包括管理员:首页、个人中心、用户管理、热门视频管理、用户上传管理、系统管理,用户:首页、个人中心、用户上传管理、我的收藏管理,前台首页;首页、热门视频、用户上传、公告信息、个人中心、后台管理等功能。由于本网站的功能模块设计比较全面,所以使得整个短视频智能推荐信
本文代码使用HAL库。文章目录前言一、MCP4017的重要特性二、MCP4017计算RBW阻值三、MCP4017地址四、MCP4017读写函数五、CubeMX创建工程(利用ADC测量MCP4017电压)、对应代码:总结前言一、MCP4017的重要特性蓝桥杯板子上的是MCP4017T-104ELT,如图1。MCP4017是一个可编程电阻,通过写入的数值可以改变电阻的大小。重点在于6引脚(W),5引脚(B
STM32OTA应用开发——通过USB实现OTA升级目录STM32OTA应用开发——通过USB实现OTA升级前言1环境搭建2功能描述3BootLoader的制作4APP的制作5烧录下载配置6运行测试结束语前言什么是OTA?百度百科:空中下载技术(Over-the-AirTechnology;OTA),是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。经过公网多年的应用与发展,已十分成熟,网络运营商通过OTA技术实现SIM卡远程管理,还能提供移动化的新业务下载功能。实际上,现在我们所说的OTA比百度百科的定义还要更广泛,OTA的形式已经不再局限于手机和SIM卡,只要涉及
文章目录1简介2绪论2.1课题背景与目的3系统设计详细设计描述3.2硬件部分温度测量电路其他电路部分3.3软件部分主程序子系统程序温湿度程序流程键盘显示子程序3.4实现效果3.5部分相关代码4最后1简介Hi,大家好,这里是丹成学长,今天向大家介绍一个单片机项目基于单片机的智能温控农业大棚系统大家可用于课程设计或毕业设计单片机-嵌入式毕设选题大全及项目分享:https://blog.csdn.net/m0_71572576/article/details/1254090522绪论2.1课题背景与目的近年来我国的温室控制取得了长足的进步,首先在温室群控制方面,进行了初步的探索和理论研究,其次在温室
解析数据 进入阿里云的IOTStdio,点击新建项目。 新建项目后点击新建Web应用。名称 应用名称随便填写 创建完成后我们进入应用。 在左侧组件处拖入一个指示灯和一个开关。 点击指示灯组件,点击配置数据源 选择我们的产品、数据、和属性。 我们还可以配置开和关的显示颜色。 点击按钮,配置交互动作。 选择设备和属性,设置值位置点击数据来源,选择组件值 配置完成后进入预览,点击按钮,在esp8266就会收到来自平台的json格式的数据,MCU端需要做的就是解析来自平台的数据,进而达到控制下
BigData/CloudComputing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程目录一、云计算网站建设:部署与发布网站建设:简单动态网站搭建云服务器管理维护云数据库管理与数据迁移云存储:对象存储管理与安全超大流量网站的负载均衡二、大数据MOOC网站日志分析搭建企业级数据分析平台基于LBS的热点店铺搜索基于机器学习PAI实现精细化营销基于机器学习的客户流失预警分析使用DataV制作实时销售数据可视化大屏使用MaxCompute进行数据质量核查使用Quick BI制作图形化报表使用时间序列分解模型预测商品销量三、云安全云平台使用安全云上服务