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