完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
嗨,我第一次尝试使用DMA。到目前为止还没有成功。我试图让我的应用程序尽可能简单,如果我开始运行它,我可以在它上面建立。我想使用DMA控制器通过UART将缓冲区(5字节)传送到我的PC。我花了一些时间浏览文档,但是很可能我错过了或者没有意识到某事的重要性。请帮助我,因为我看不出我哪里错了(我也尝试过其他地方的一些例子,但是没有运气)。将在编辑中添加代码[附加的文本文件中的代码和更多信息,某些东西导致许可错误-非常令人沮丧]
|
|
相关推荐
6个回答
|
|
好的,一些进步(也许)。我需要设置源/目的地的物理地址,而不是虚拟地址。要做到这一点,显然在PLIB .h文件(yViTrutSules())的某个地方有一个函数。我找不到这个函数。无论如何,我已经包括了plib.h,因为我在其他地方使用它,并且找不到这个或后续包含中的函数(dma.h和其他一些函数,dma_1xx_2xx.h等等)。有人能给我指出正确的方向吗?
|
|
|
|
VytTrutsS是图书馆的私人功能。使用来自sys /KMEM .h的KVAYToPA宏来代替。
|
|
|
|
谢谢!现在我已经设置了源和目的地址:DCH0SSA=KVA_TO_PA((void*)&DMAbuff[0]);DCH0DSA=KVA_TO_PA((void*)&U1TXREG);但是,我不确定它是如何工作的,也不确定Google会发现什么!你能给我提一个课题来研究吗?看起来我首先需要理解物理内存和虚拟内存的区别。我还想改进一下这段代码。因为目的地是UART Tx缓冲区,所以没有控制(比如在写入之前等待缓冲区为空),这是否有问题?我以为我可以把目的地作为发送字节的函数吗?
|
|
|
|
您可以看一下有关DMA控制器的参考文档。基本上(PIC32MX),它使用CHSIRQ将IRQ链接到DMA模块。例如,在这个例子中,当U1TXIF被设置时,它将根据您的DMA设置将数据传输到U1TxReg。因此,确保UTXISL正确地用于生成U1TXIF。因为DMA模块将自动处理U1TXIF,所以不使用U1TXIE。
|
|
|
|
我有点进步了。我现在有一些数据出来,但仍然有一些不正确。我可以发送从1到9字节,但似乎停止在9,无论源,目的地和信道大小。以下设置仅传输9字节:DCH0SSIZ=10;//源大小为字节(来自字符阵列的10字节)DCH0DSSIZ=1;//目的地大小(UART TX BUF为1字节)DCH0CSIZ=10;/ /传输字节大小(在清除信道忙位之前传输的字节总数)I i正确掌握这些SFR的功能?您还提到了UART TX中断设置。我的DMA中断设置如下,但我不知道如何处理UART中断?DCH0CONBITS.CHPRI=0;//优先权0 DCH0ECOMPITS CHSIRQ=UART11TXYILQ;/ /允许DMA模块使用数据时将UARTTXIF控制到TX寄存器DCH0tNITS.CHBCIE=1;/ /中断已启用信道的DCH0ITBITS.CHBCIF=0;/ /标志清除IPC9BITS.DMA0IP=2;//CH0 PRIAdvIPC9BITS.DMA0IS=0;//CH0子优先级IEC1BIT.DMA0IE=1;//允许数据表中UART T中断的CH0中断:UTXISEL & LT;1:0& GT:;TX中断模式选择BITS11=保留,不使用10=中断,而发送缓冲器为EMPTY01= I。NTurrt是在所有字符都已被传输的时候生成和声明的.00 =中断产生和声明,而发送缓冲器包含至少一个空的空间。我已经查看了示例代码、DMA参考文档和Google和Google,但是我似乎不能把任何东西都翻过来。让我明白这一点。
|
|
|
|
在您的情况下,每个事件传输10字节(当U1TXIF为1),但TX缓冲器的深度可能只有8。因此,缓冲区已满……如果将DCH0CSIZ设置为1,则DMA将每次向U1TXREG发送一个字节的数据,并且ifUTXISEL=0,每当缓冲区具有至少一个空白空间时,生成/断言U1TXIF,并且下一次DMA传输开始。
|
|
|
|
只有小组成员才能发言,加入小组>>
5178 浏览 9 评论
2003 浏览 8 评论
1931 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3177 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2228 浏览 5 评论
738浏览 1评论
622浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
509浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
636浏览 0评论
533浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 05:02 , Processed in 1.298880 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号