发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
[问答] DSPIC33的ADC是什么?
93 adc LED DMA
分享
大家好,我有一个dsPIC33fJ128MC802上的ADC模块的问题,它带有microStickII板。我是dsPIC33系列的新手,但是我已经连续阅读数据表大约两天了,仍然不能想出解决我的问题的办法。我想同时读两篇。来自10位模式的ADC模块的GS。这就是我最初想做的事情,但不管我做了什么,我都无法得到这些读物。所以我尝试了一次阅读,然后又失败了。我的代码看起来很好。我唯一缺少的是“直接内存访问”(DMA)部分,它可能与我的问题有关。然而,DMA部分对我来说是个大谜团。我对与记忆有关的话题很差。如果我的问题是关于DMA,你能解释一下DMA是什么吗?因为我已经多次读过数据表,仍然不能正确地获取数据。另外,我以前是PIC18F系列用户。这是一个真正的用户友好的ADC阅读。现在有一些东西,比如Muxa Muxb,使这些东西复杂化。不管怎样,你可以找到我的规格。以及下面的代码。如果有人能帮助我,我将不胜感激。谢谢。我的时钟速度是7.37MHz,内部时钟。AN0和AN3是CH0和CH1。所以我试着去读那些。RB0上有一个LED。当我试着闪烁一个LED时,代码没问题,所以“配置位”应该没问题。但是,如果你看到了一些错误,我会很感激,如果你能指出它。
0
2019-10-23 12:25:46   评论 分享淘帖 邀请回答

相关问题

10个回答
你好,只是一些“第一个评论”:同时采样涉及两个ADCs的使用。使用单个ADC是不可能的。(在您的代码中,我只看到一个ADC。)DMA是一种方案,其中没有引发相应的中断,而是在不直接涉及CPU的情况下移动一些数据。对于初学者,您应该可以不用——就像您使用PIC18所做的一样。如果您有一个调试器,那么您可以通过编写调试器所需的配置位来完成全部或部分设置。这比编译/下载快。虽然它需要精确的工作。希望这有助于进一步…
2019-10-23 12:41:02 评论

举报

你好,Du00…我衷心感谢你的指导。我已经改变了代码。问题出在AD1CON1寄存器上。稍加调整,我的代码就“部分”工作了。我只能读取一个数据,这是CH0中的数据。猜测这是DMA进入播放的地方。我不是那种“自由代码”的家伙。在这个项目上工作了大约2天。关于DMA,dsPIC33系列参考文献中有很多我不知道的记忆术语。有人能帮我从ADC获得两个同时的数据样本吗?另外,这里是代码。如果将来有人检查这个帖子,可能会有帮助。
2019-10-23 12:57:10 评论

举报

RE:SuMurThanaSAMPLIGIN需要1个ANX通道连接到ADCQ,另一个ANX通道连接到ADC2(或ADC0?什么都行。现在设置两个ADC以相同的事件开始转换(有相当多的选择“事件”)。现在,当这些ADC中的一个信号“转换完成”时,第二个也将已经转换。啊-另一件事:如果你的派生工具没有至少两个ADC单元:那么你'l'l'。我需要另一个导数。(但IILC,指示“MC”表示至少2个ADC)。
2019-10-23 13:09:13 评论

举报

du0000……再次感谢您的指导。我对这些主题不是很有经验,也不太了解,而且您显然比我了解得多。然而,当我阅读我的设备的数据表时,感觉它好像可以同时采样CH0和CH1。而且,它只有一个ADC模块,在AD1CON1寄存器中的SimsAm位给了我这个想法。但是,如果我错了,如果你能纠正我,我将不胜感激。
2019-10-23 13:20:23 评论

举报

好的,我看了一下数据表。不知道这个“解决方案”…按需要设置SEADAD1CON2.CHPS。设置AD1CON1.SIMSAM=1SEAD1CON1.ASAM=0。否则,由于在转换结束时进行采样,同步方案将无法生效。启用采样viaAD1CON1.SAMP=1。决定如何完成采样(seeAD1CON1.SSRC)。如果尚未完成,选择要转换的第一个信道,开始转换,并在完成时获得结果。重复第二个频道(不要触摸,SAMP)!希望你得到总体方案…
2019-10-23 13:39:27 评论

举报

嘿。如果我想直接从DMA读取数据呢?我设法开发了我的代码。现在它可以从一个通道读取模拟输入。问题是,“.1”和“.2”(在DMA中断中)读取相同的信道和相同的值(CH0),即使我传送来自不同地址的数据:此外,这是我的全部代码。我已经停止了ADC中断,所以DMA可以完成它的工作。但是我仍然无法获得“两个”读数。
2019-10-23 13:57:23 评论

举报

要从另一个通道获得值,必须将ADC多路复用器切换到该通道,开始转换并等待完成转换。(采样)是一个问题,“转换”是另一个问题。采样是将电压存储在模拟侧上。除非您开始转换此通道,否则该值将不可用。)不要忘记再次切换回第一通道。为了实现与DMA相同的功能(它不是“从DMA读取”-它是“如何设置DMA”-然后从DMA写入的数据的存储器中读取数据),我建议使用寻找使用此方案的电机控制的应用说明。(目前我手头没有一个数字)同时采样方案对电机控制是至关重要的。因此,我期望找到一些电机控制来实施这一计划。
2019-10-23 14:06:30 评论

举报

您好,请查找这里更新的代码示例CE120以使用MPLAB X和XC16。它正在ADC上为dsPIC33FJ256GP710A进行DMA。更新到dsPICRegard应该很容易。
2019-10-23 14:12:14 评论

举报

大家好,如果将来有人想用ADC模块通过DMA同时读取两个输入,我将分享下面的代码。我不知道代码是否完美。也许它需要一些小的调整(如果有人能帮助我调整它,我会非常感激)。然而,代码目前工作得很好。在尽可能提高教育水平的同时,本文也作了全面的评论。我还要感谢du0000和RISC的帮助。这是代码。记住,如果你看到一些效率不高的东西,或者一些可能导致问题的东西并报告给我,我会非常高兴。我试图学习,只是因为我的代码工作并不意味着它是足够的。我真的很想学习很多。享受。
2019-10-23 14:17:43 评论

举报

现在将不同的电压施加到AN0 RESP上。AN3并检查你是否真的得到它…
2019-10-23 14:27:16 评论

举报

只有小组成员才能发言,加入小组>>

72个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表