永发信息网

在语音芯片工作状态中发送此命令可以调节音量大小,不管语音芯片是否处于语音播放还是语音停止状态。

答案:1  悬赏:70  手机版
解决时间 2021-01-23 11:13
  • 提问者网友:沉默菋噵
  • 2021-01-22 18:46
在语音芯片工作状态中发送此命令可以调节音量大小,不管语音芯片是否处于语音播放还是语音停止状态。
最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-01-22 19:47
你是问WT588D芯片的问题吗?如果是wt系列的语音芯片,你可以跟厂家技术客服咨询详细的指令,我下面举例的是wt588d三线串口的一个应用的程序,在语音芯片工作状态中发送此命令可以调节音量大小,不管语音芯片是否处于语音播放还是语音停止状态。
指令如下:
#include
#define uchar unsigned char
#define uint unsigned int
#define SDA1 PORTC|=0x01;
#define SDA0 PORTC&=~0x01;
#define CS1 PORTC|=0x02;
#define CS0 PORTC&=~0x02;
#define SCL1 PORTC|=0x04;
#define SCL0 PORTC&=~0x04;
#define RST1 PORTC|=0x08;
#define RST0 PORTC&=~0x08;
void delay_1us(void)
{ asm("nop");}
void delay_us(unsigned int n)
{unsigned int i;
for(i=0;i}
void delay_ms(unsigned int ms)
{int n;
for( ;ms>0;ms--)
{for(n=0;n<1142;n++)
{;}
}
}
void send_date(uchar data)
{
uchar i;
RST0;
delay_ms(2);
RST1;
delay_ms(17);
CS0;
delay_ms(2);
for(i=0;i<8;i++)
{ SCL0;
if(data&1) {SDA1;}
else {SDA0;}
data>>=1;
delay_us(100);
SCL1;
delay_us(100);
}
CS1;
}
void main()
{
DDRC=0xff;
while(1)
{
send_date(2);

}
}
如果是先触发地址语音或者其他的命令,则需要等待90ms才能发送音量调节命令,否则无效。如果对WT588D芯片就行复位控制,则每次复位后音量都恢复到最大值。因此复位后需要重新调节音量大小。
最好是先检查功放电路没问题后,再检查DAC输出部分电路,
音频输出:DAC输出方式,音频信号从PWM+/DAC端输出.经过R6.C6.C9后输出到功放,R6为分流电阻,取值270Ω~1.2KΩ,阻值越大则输出声音越大.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯