完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
2个回答
|
|
|
|
|
|
在DSP中,通常可以通过EDMA(Enhanced Direct Memory Access)控制器的寄存器来获取当前正在搬运的缓冲区信息。具体的方法可能因DSP型号和EDMA控制器的实现而异,但一般可以通过以下步骤来实现:
1. 首先,需要查阅你所使用的DSP的参考手册或数据手册,了解EDMA控制器的寄存器结构和相关功能。 2. 在EDMA控制器的寄存器中,通常会有一个或多个寄存器用于存储当前正在搬运的缓冲区信息。例如,可能有一个寄存器用于存储当前正在搬运的缓冲区的地址,或者有一个寄存器用于存储当前正在搬运的缓冲区的索引。 3. 通过读取这些寄存器的值,可以判断EDMA当前正在搬运的是哪个缓冲区(txbuf0或txbuf1)。例如,如果寄存器中存储的地址是txbuf0的地址,那么可以认为EDMA正在搬运txbuf0;如果寄存器中存储的地址是txbuf1的地址,那么可以认为EDMA正在搬运txbuf1。 4. 在更新音频数据时,可以根据EDMA当前正在搬运的缓冲区信息,选择更新另一个缓冲区。例如,如果EDMA正在搬运txbuf0,那么可以更新txbuf1;如果EDMA正在搬运txbuf1,那么可以更新txbuf0。 5. 为了确保音频数据的连续性,可以在更新缓冲区时使用双缓冲区技术。即在EDMA搬运一个缓冲区的同时,算法处理后的数据更新到另一个缓冲区。当EDMA完成搬运后,再切换到另一个缓冲区进行搬运。 6. 另外,还可以通过设置EDMA的中断服务例程(ISR)来实现缓冲区的切换。在ISR中,可以检查EDMA搬运完成的缓冲区,并更新另一个缓冲区的数据。 总之,通过查阅DSP的参考手册,了解EDMA控制器的寄存器结构和功能,可以找到标识EDMA正在搬运的缓冲区的方法。然后,根据这些信息,可以实现在更新音频数据时避免EDMA传输时的缓冲区被改写。 |
|
|
|
只有小组成员才能发言,加入小组>>
336 浏览 1 评论
529 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
774 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
651 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1130 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
56浏览 29评论
135浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
252浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
201浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
57浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 05:47 , Processed in 0.852553 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号