完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我现在是想把录音机实验与NRF24L01无线实验结合,利用NRF24L01发送音频信息。我把I2SRX_DMA的RX DMA 数组大小定义为512个字节,然后继续利用原子哥的程序,在中断服务函数里在写入程序到SD卡后发送音频。程序如下,分为16次发送。
void rec_i2s_dma_rx_callback(void) { u16 i,j; u8 temp[33]={0}; u16 bw; u8 res; NRF24L01_TX_Mode(); if(rec_sta==0X80)//录音模式 已经开启录音 { if(DMA1_Stream3->CR&(1<<19)) { res=f_write(f_rec,i2srecbuf1,I2S_RX_DMA_BUF_SIZE,(UINT*)&bw);//写入文件 for(i=0;i<16;i++) { for(j=32*i;j<32*(i+1);j++) { temp[j-32*i] = i2srecbuf1[j]; NRF24L01_TxPacket(temp); while(NRF24L01_TxPacket(temp)!=TX_OK);//传输512个字节 } } if(res) { printf("write error:%drn",res); } }else { res=f_write(f_rec,i2srecbuf2,I2S_RX_DMA_BUF_SIZE,(UINT*)&bw);//写入文件 for(i=0;i<16;i++) { for(j=32*i;j<32*(i+1);j++) { temp[j-32*i] = i2srecbuf2[j]; NRF24L01_TxPacket(temp); while(NRF24L01_TxPacket(temp)!=TX_OK);//传输512个字节 } } if(res) { printf("write error:%drn",res); } } wavsize+=I2S_RX_DMA_BUF_SIZE; } } 然后现在问题是程序会卡在发送音频这里然后不动。是NRF24L01无法连续发送音频大数据吗?还是我的SPI设置问题或者NRF24L01设置问题? 求助原子哥啊或者其他大神!! |
|
相关推荐
6个回答
|
|
你计算过数据量没有?
|
|
|
|
NRF确实很头疼的一个玩意,调试有点烦,尤其是在发大量的数据的时候,你也可以用蓝牙,或者大功率NRF试试
|
|
|
|
原子哥,你说的数据量指的是哪一个?是指传输的512个字节么?
|
|
|
|
我看过之前论坛里的一个帖子,他用VS1053和NRF24L01可以做实时通信呀,他也是每次发送512个字节,,虽然他说通话断断续续。我这边是程序一运行就卡住……而且我试了,每次发生32字节,也会卡住……
|
|
|
|
原子哥,W25Q128会严重影响到NRF24L01无法发送数据么?
//初始化SPI FLASH的IO口 void W25QXX_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);//使能GPIOB时钟 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);//使能GPIOG时钟 //GPIOB14 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;//PB14 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//输出 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉 GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;//PG7 GPIO_Init(GPIOG, &GPIO_InitStructure);//初始化 GPIO_SetBits(GPIOG,GPIO_Pin_7);//PG7输出1,防止NRF干扰SPI FLASH的通信 W25QXX_CS=1; //SPI FLASH不选中 SPI1_Init(); //初始化SPI SPI1_SetSpeed(SPI_BaudRatePrescaler_2); //设置为42M时钟,高速模式 W25QXX_TYPE=W25QXX_ReadID(); //读取FLASH ID. } |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2549 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2333 浏览 5 评论
3165 浏览 3 评论
2806 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2763 浏览 4 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
612浏览 1评论
859浏览 0评论
974浏览 0评论
626浏览 0评论
453浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 15:55 , Processed in 1.178415 second(s), Total 89, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号