经过不懈努力调试,终于完成了无线语音对讲机。
本次采用的是STM32F103C8T6 + VS1053 + NRF24L01
VS1053模块采用的是ADPCM录音编码,比PCM编码大概压缩了四倍,能很好地将语音信息通过nrf实时地传输出去,基本上接收端播放没有延时。
下面是部分代码,需要完整代码的可以联系我:Q:850995894
int main(void)
{
Led_Init();
delay_init();
Key_Init();
VS_Init();
NRF24L01_Init();
while(NRF24L01_Check());
VS_Sine_Test();
talking();//对讲模式
}
while(1)
{
if(Key == 0)
{
u32 t=0;
delay_ms(500);
NRF24L01_TX_Mode();
talking_rec_mode(4);
while(Key == 0)
{
delay_ms(1);
w1=VS_RD_Reg(SPI_HDAT1);
if((w1>=256)&&(w1<896))
{
w1=0;
led2=0;
count=0;
t=0;
while(count<256)
{
w2=VS_RD_Reg(SPI_HDAT0);
w3=w2>>8;
databuf[t++]=w3;
databuf[t++]=w2&0XFF;
count=1+count;
}
for(i=0;i<16;i++)
{
if(NRF24L01_TxPacket(databuf)==TX_OK)
{
databuf=databuf+32;
}
}
led2=1;
databuf=p;
flag=0;
}
}
NRF24L01_RX_Mode();
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>