完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
最近在做的一个项目需要用到使用EDMA3的ping-pong模型实现串口数据的接收,相当于一个通道挂接两块接收缓存,这两块接收缓存使用PaRAM里面的Link进行链接起来,之前做其他公司的DMA的时候,在使用ping-pong模型的时候有一个标志位TC可以显示当前工作的是哪一块缓存,但是OMAP-L138上面在中断来来时只能知道是哪一个通道触发的完成中断,但是我想知道是哪一块缓存满的呢?我有想过读取PaRAM的参数进行判断,但是读取PaRAM的参数的函数的输入参数需要知道PaRAM的ID,但是没有办法获取当前接收完成中断的PaRAM,请ti的大神给予答复!
谢谢 |
|
相关推荐
5个回答
|
|
你既然使用的是ping-pong传输,假如第一次进中断是ping传输完成的话,下一次进中断就pong,然后再是ping,一直重复下去,这个节拍是不会乱的。所以,你在中断中可以设置两个全局变量来记录当前是哪个缓冲区已经存满。
|
|
|
|
lufuzi666666 发表于 2018-6-21 09:13 你好,谢谢你对我的帮助,现在正在用TI的开发板进行Pingpong的接收调试中,用的是串口1,现在出现两个问题,第一:Ping收到的串口数据第四个字节总是00,其他的字节数据都是对的;第二:只能进入一次接收中断,继续运行,第二次就进不去了,全速运行的时候也是这个问题,进入一次之后就不会进入第二次了,请问这可能是什么原因? |
|
|
|
北京森馥 发表于 2018-6-21 09:25 能否贴出来一部分代码呢,可能这样更容易解决问题。 |
|
|
|
uart1_rx用ping pong接收数据的代码: EDMA3CCPaRAMEntry paramSet; paramSet.srcAddr = (uint32)SOC_UART_1_REG; paramSet.destAddr = (uint32)g_secret_addr_0; paramSet,aCnt = 1; paramSet,bCnt = 10; paramSet,cCnt = 1; paramSet,srcBIdx = 0; paramSet,destBIdx = 1; paramSet,srcCIdx = 0; paramSet,destCIdx = 0; paramSet.linkAddr = (uint16)((RX_PAR_ID)*32); paramSet.bCntReload = 10; paramSet.opt = 0x0010c000; EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, EDMA3_CHA_UART1_RX, ¶mSet); /* 配置PONG */ paramSet.destAddr = (uint32)g_secret_addr_1; paramSet.linkAddr = (uint16)((RX_PAR_ID+1)*32); EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, RX_PAR_ID, ¶mSet); /* 配置PING */ paramSet.destAddr = (uint32)g_secret_addr_0; paramSet.linkAddr = (uint16)((RX_PAR_ID)*32); EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, (RX_PAR_ID+1), ¶mSet); |
|
|
|
北京森馥 发表于 2018-6-21 09:51 如果EDMA3_CHA_UART1_RX的值为12,RX_PAR_ID的值大于等于64而且小于等于127,你这三组paRAM的配置应该是正确的。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
665 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
591 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1045 浏览 1 评论
726 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
519 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
153浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
119浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
122浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
121浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
163浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 14:28 , Processed in 1.472724 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号