当前位置: 首页 > news >正文

KT148A语音芯片使用串口uart本控制的完整说明_包含硬件和指令举例

一、功能简介

KT148A肯定是支持串口的,有客户反馈使用一线还是不方便,比如一些大型的系统不适合有延时的操作,所以更加倾向于使用uart控制,这里我们也给出解决方案

延伸出来另外一个版本,KT158A

注意次版本芯片还是KT148A。但是使用上从原来的一线串口控制,更换为串口uart控制

也就是芯片相同,但是出厂烧录的固件不同而已

  1. 下载语音的方式,还是和以前一模一样,但是不需要短路5脚到地了
  2. 芯片的功耗,没有低功耗的处理了,默认就是不播放4mA的电流,需要低功耗请使用mos管控制电源的方式  。芯片的脚位定义有变化

联系我们,拿对应的KT158A的样品,备注一下:KT158A_V15_8BE8_串口uart版本

1、KT158A的简单测试,原理图如上所示

2、将芯片的5脚对地,上电,则是全部循环播放KT158A内置的所有语音,这个方便客户测试硬件

然后需要播放,就只能发送对应的串口指令去控制

3、KT158A的busy引脚,也就是IO3=PB0,对应的是busy输出,播放输出低电平,空闲输出高电平

4、其他所有的细节,都和之前的KT148A=一线串口版本一致

  • 控制指令说明

2.1 控制指令--波特率是115200

CMD命令

对应的功能

参数(16位)

0x01

下一曲

0x02

上一曲

0x03

指定曲目(NUM)

和一线串口逻辑一致

0x04

音量+

0x05

音量-

0x06

指定音量

音量是不记忆的

0x08

单曲循环指定曲目播放

和一线串口逻辑一致

0x0C

芯片复位

0x0D

播放

0x0E

暂停

0x11

指定当前的设备全部循环播放

0x16

停止

0x21

组合播放

2.2 通讯指令举例

命令类型

CMD命令

参考指令

指令说明

控制指令

0x01

7E 01 00 02 00 00 EF

下一曲

0x02

7E 02 00 02 00 00 EF

上一曲

0x03

7E 03 00 02 00 64 EF

指定曲目(NUM) -- 播放第100段

0x04

7E 04 00 02 00 00 EF

音量+

0x05

7E 05 00 02 00 00 EF

音量-

0x06

7E 06 00 02 00 0A EF

指定音量 -- 取值范围[0--30] --指定为10级

0x08

7E 08 00 02 00 01 EF

单曲循环指定曲目播放 -- 循环播放第1段

0x0C

7E 0C 00 02 00 00 EF

芯片复位

0x0D

7E 0D 00 02 00 00 EF

播放

0x0E

7E 0E 00 02 00 00 EF

暂停

0x11

7E 11 00 02 00 01 EF

指定内置音乐全部循环播放

0x16

7E 16 00 02 00 00 EF

停止

0x21

7E 21 00 04 01 01 03 02 EF 

组合播放-01号、01号、03号、02号组合播放

0x43

7E 43 00 02 00 00 EF

查询当前音量

0x46

7E 46 00 02 00 00 EF

查询当前的版本

0x4A

7E 4A 00 02 00 00 EF

查询内置的spiflash总文件数

0x4E

7E 4E 00 02 00 00 EF

查询内置的spiflash当前的文件

0x62

7E 62 00 02 00 00 EF

查询当前设备的总文件数

三、使用注意事项

1、下载语音,就不需要芯片的5脚对地上电了,任何时候都可以点击软件进行下载

2、芯片没有低功耗的机制了,永远是正常工作状态,未播放是4mA的电流

3、软件测试举例如下:

4、测试的硬件举例如下:

相关文章:

  • Linux CentOS 8(MariaDB的数据类型)
  • Pytorch自动混合精度的计算:torch.cuda.amp.autocast
  • 第77题. 组合
  • 服务注册发现 springcloud netflix eureka
  • 基于Pytorch的从零开始的目标检测
  • Java编程中,异步操作流程中,最终一致性以及重试补偿的设计与实现
  • Vue3-ref、reactive函数的watch
  • 2024年山东省职业院校技能大赛中职组“网络安全”赛项竞赛试题-A
  • IDEA无法查看源码是.class,而不是.java解决方案?
  • C++ 大数相加
  • 在WPF应用程序集中添加新文件时,Page和Window有什么区别
  • Flutter笔记:桌面应用 窗口定制库 bitsdojo_window
  • 生成对抗网络Generative Adversarial Network,GAN
  • 索引三星结构
  • Jmeter 如何监控目标服务的系统资源
  • Angular2开发踩坑系列-生产环境编译
  • Protobuf3语言指南
  • python学习笔记 - ThreadLocal
  • spring-boot List转Page
  • tab.js分享及浏览器兼容性问题汇总
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • vuex 笔记整理
  • vue中实现单选
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 离散点最小(凸)包围边界查找
  • 码农张的Bug人生 - 初来乍到
  • 那些年我们用过的显示性能指标
  • 学习ES6 变量的解构赋值
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 如何在招聘中考核.NET架构师
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #etcd#安装时出错
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $(selector).each()和$.each()的区别
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (poj1.2.1)1970(筛选法模拟)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (四)Controller接口控制器详解(三)
  • (五)IO流之ByteArrayInput/OutputStream
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)Windows2003安全设置/维护
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net 简单实现MD5
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .skip() 和 .only() 的使用
  • /bin/rm: 参数列表过长"的解决办法
  • @RequestParam,@RequestBody和@PathVariable 区别
  • @RequestParam详解
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [.net]官方水晶报表的使用以演示下载