首页 > 其他分享 >十二、JQ8400语音播报模块

十二、JQ8400语音播报模块

时间:2023-07-10 19:56:31浏览次数:31  
标签:播报 10 JQ8400 jq8400SendOneByteData 发送 设置 模块 串口 数字

1.管脚说明

引脚 标示 说明
1 ONE LINE 一线串口脚
2 BUSY 忙信号脚,播放时为高,其他为低
3 RX 芯片串口接收脚,接MCU的TX
4 TX 芯片串口发送脚,接MCU的RX
5 GND 芯片数字地
6 DC-5V 芯片供电脚,3.3-5V
7 DAC-R DAC音频输出右声道
8 DAC-L DAC音频输出左声道
9 SPK- 接喇叭
10 SPK+

2.一线串口通信协议

SDA为数据发送端口,发送语音地址,先发送低位。

3.一线数据指令

指令(HEX) 功能 说明
00 数字0

数字0-9可以用于需要数字的功能,

比如选曲、设置音量、设置EQ、

设置循环模式、设置通道、设置插播曲目

先发数字后发功能指令。

01 数字1
02 数字2
03 数字3
04 数字4
05 数字5
06 数字6
07 数字7
08 数字8
09 数字9
0A 清零数字 清除发送的数字
0B 选曲确认

0C 设置音量0-30
0D 设置EQ
0E 设置循环模式
0F 设置通道
10 设置插播曲目
11 播放

单字节控制指令,

仅需发送一个控制指令即可。

12 暂停
13 停止
14 上一曲
15 下一曲
16 上一目录
17 下一目录
18 选择SD卡
19 选择U盘
1A 选择FLASH
1B 系统睡眠

4.一线串口MP3文件命名规则

  (1)文件名需为5位数字,该五位数即为文件的曲目号。

  (2)文件需放在根目录下。

5.一线串口说明和注意事项

  (1)引导码延时要求大于2MS,建议使用4MS延时

  (2)脉冲比例基数在2-5都可以识别

  (3)两个字节之间延时建议在10MS以上

6.代码实现

 1 void jq8400SendOneByteData(u8 dataOrCmd)
 2 {
 3     SDA=1;
 4     Delay_Ms(10);//两个字节发送之间的延时,建议大于10ms
 5     
 6     //发送引导码,大于2ms,建议为4ms
 7     SDA=0;
 8     Delay_Ms(4);
 9     
10     for(int i=0;i<8;i++){//发送数据
11         SDA=1;
12         if(dataOrCmd&0x01){//最低位为1,发送位1,高低电平时间3:1表示发送1,脉冲比例基数2-5都可以识别
13             Delay_Us(1200);
14             SDA=0;
15             Delay_Us(400);
16         }else{//发送位0
17             Delay_Us(400);
18             SDA=0;
19             Delay_Us(1200);
20         }
21         dataOrCmd >>= 1;
22     }
23 }
1     jq8400Init();
2     jq8400SendOneByteData(0x0A);//先发送数字,再发送指令,清除数字指令
3     jq8400SendOneByteData(0x01);//发送数字1
4     //jq8400SendOneByteData(0x00);//发送数字0,结合组成数字10
5     jq8400SendOneByteData(0x0B);//确定选曲指令
6     
7     jq8400SendOneByteData(0x11);//播放指令,单指令

 

标签:播报,10,JQ8400,jq8400SendOneByteData,发送,设置,模块,串口,数字
From: https://www.cnblogs.com/qingfeng515/p/17542144.html

相关文章

  • 跨平台轻量级RTSP服务模块设计思路及实现探讨
    技术背景为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,我们发布了轻量级RTSP服务模块,轻量级RTSP服务解决的核心痛点是避免用户或者开发者单独部署RTSP或者RTMP服务,实现本地的音视频数据(如摄像头、麦克风),编码后,汇聚到内置RTSP服务,对外提供可供拉流的RTSP......
  • BOSHIDA DC电源模块过载保护的机制
    BOSHIDADC电源模块过载保护的机制DC电源模块一般具有过载保护功能,当输出电流大于所设定的电流限制时,模块会自动关闭输出以保护负载和模块本身。过载保护的实现方式主要有以下几种: 1.电流限制器:为了防止输出电流超出设定值,模块内部通常会加入电流限制器,一旦电流超出限制,就会......
  • apollo+carsim自动驾驶控制模块仿真 windows联系独编译,
    apollo+carsim自动驾驶控制模块仿真windows联系独编译,和carsim联合仿真仿真调试有编译和调试过程文档基于windows平台,所有依赖的库有预编译好的包apollo6.0版本。ID:6699625478961058......
  • Comsol有限元仿真,流体模块,两相流—水平集 多物理场耦合仿真
    Comsol有限元仿真,流体模块,两相流—水平集多物理场耦合仿真ID:695627189943991......
  • python-opencv核心库模块core(下)
    本章节主要记录opencv核心库模块core的图像旋转,图像拼接,图像仿射变换,图像roi区域提取和图像傅里叶变换等操作。1图像旋转opencv提供了将图像沿着坐标轴旋转的函数flip,dst=flip(src,flipcode) flipcode表示旋转的标志,等于0表示沿着x轴旋转,正数表示沿着y轴旋转,负数表示沿着x......
  • 【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块8
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块6
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(153)---2.4寸TFT液晶触摸屏模块5
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • JavaScript 模块
    JavaScript模块 一般来讲,模块是一个独立的JavaScript文件 模块文件可以包含一个类定义、一组相关的类、一个实用函数库或者是一些待执行的代码 以模块的形式编写代码,任何符合模块编码形式JavaScript代码段,都可当做一个模块JavaScript中未定义支持模块的语言结构,所以......
  • 常用的注意力机制模块(SE、CBAM)
     【深度学习】总目录SE论文:《Squeeze-and-ExcitationNetworks》将重点放在了通道(channel)关系上,并提出了一种新的结构单元SEblock。将SEblock堆叠在一起,就形成了SENet。SE块略微增加计算成本但显著地提升了性能,并且即插即用。SENet获得了最后一届ImageNet2017竞赛分类任务的......