完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,我有一个dsPIC33FJ128MC802上的ADC模块的问题,它带有MicroStickII板。我是dsPIC33系列的新手,但是我已经连续阅读数据表大约两天了,仍然不能想出解决我的问题的办法。我想同时读两篇。来自10位模式的ADC模块的GS。这就是我最初想做的事情,但不管我做了什么,我都无法得到这些读物。所以我尝试了一次阅读,然后又失败了。我的代码看起来很好。我唯一缺少的是“直接内存访问”(DMA)部分,它可能与我的问题有关。然而,DMA部分对我来说是个大谜团。我对与记忆有关的话题很差。如果我的问题是关于DMA,你能解释一下DMA是什么吗?因为我已经多次读过数据表,仍然不能正确地获取数据。另外,我以前是PIC18F系列用户。这是一个真正的用户友好的ADC阅读。现在有一些东西,比如Muxa Muxb,使这些东西复杂化。不管怎样,你可以找到我的规格。以及下面的代码。如果有人能帮助我,我将不胜感激。谢谢。我的时钟速度是7.37MHz,内部时钟。AN0和AN3是CH0和CH1。所以我试着去读那些。RB0上有一个LED。当我试着闪烁一个LED时,代码没问题,所以“配置位”应该没问题。但是,如果你看到了一些错误,我会很感激,如果你能指出它。
|
|
相关推荐
10个回答
|
|
|
你好,只是一些“第一个评论”:同时采样涉及两个ADCs的使用。使用单个ADC是不可能的。(在您的代码中,我只看到一个ADC。)DMA是一种方案,其中没有引发相应的中断,而是在不直接涉及CPU的情况下移动一些数据。对于初学者,您应该可以不用——就像您使用PIC18所做的一样。如果您有一个调试器,那么您可以通过编写调试器所需的配置位来完成全部或部分设置。这比编译/下载快。虽然它需要精确的工作。希望这有助于进一步…
|
|
|
|
|
|
你好,Du00…我衷心感谢你的指导。我已经改变了代码。问题出在AD1CON1寄存器上。稍加调整,我的代码就“部分”工作了。我只能读取一个数据,这是CH0中的数据。猜测这是DMA进入播放的地方。我不是那种“自由代码”的家伙。在这个项目上工作了大约2天。关于DMA,dsPIC33系列参考文献中有很多我不知道的记忆术语。有人能帮我从ADC获得两个同时的数据样本吗?另外,这里是代码。如果将来有人检查这个帖子,可能会有帮助。
|
|
|
|
|
|
RE:SuMurThanaSAMPLIGIN需要1个ANX通道连接到ADCQ,另一个ANX通道连接到ADC2(或ADC0?什么都行。现在设置两个ADC以相同的事件开始转换(有相当多的选择“事件”)。现在,当这些ADC中的一个信号“转换完成”时,第二个也将已经转换。啊-另一件事:如果你的派生工具没有至少两个ADC单元:那么你'l'l'。我需要另一个导数。(但IILC,指示“MC”表示至少2个ADC)。
|
|
|
|
|
|
du0000……再次感谢您的指导。我对这些主题不是很有经验,也不太了解,而且您显然比我了解得多。然而,当我阅读我的设备的数据表时,感觉它好像可以同时采样CH0和CH1。而且,它只有一个ADC模块,在AD1CON1寄存器中的SimsAm位给了我这个想法。但是,如果我错了,如果你能纠正我,我将不胜感激。
|
|
|
|
|
|
好的,我看了一下数据表。不知道这个“解决方案”…按需要设置SEADAD1CON2.CHPS。设置AD1CON1.SIMSAM=1SEAD1CON1.ASAM=0。否则,由于在转换结束时进行采样,同步方案将无法生效。启用采样viaAD1CON1.SAMP=1。决定如何完成采样(seeAD1CON1.SSRC)。如果尚未完成,选择要转换的第一个信道,开始转换,并在完成时获得结果。重复第二个频道(不要触摸,SAMP)!希望你得到总体方案…
|
|
|
|
|
|
嘿。如果我想直接从DMA读取数据呢?我设法开发了我的代码。现在它可以从一个通道读取模拟输入。问题是,“.1”和“.2”(在DMA中断中)读取相同的信道和相同的值(CH0),即使我传送来自不同地址的数据:此外,这是我的全部代码。我已经停止了ADC中断,所以DMA可以完成它的工作。但是我仍然无法获得“两个”读数。
|
|
|
|
|
|
要从另一个通道获得值,必须将ADC多路复用器切换到该通道,开始转换并等待完成转换。(采样)是一个问题,“转换”是另一个问题。采样是将电压存储在模拟侧上。除非您开始转换此通道,否则该值将不可用。)不要忘记再次切换回第一通道。为了实现与DMA相同的功能(它不是“从DMA读取”-它是“如何设置DMA”-然后从DMA写入的数据的存储器中读取数据),我建议使用寻找使用此方案的电机控制的应用说明。(目前我手头没有一个数字)同时采样方案对电机控制是至关重要的。因此,我期望找到一些电机控制来实施这一计划。
|
|
|
|
|
|
您好,请查找这里更新的代码示例CE120以使用MPLAB X和XC16。它正在ADC上为dsPIC33FJ256GP710A进行DMA。更新到dsPICRegard应该很容易。
|
|
|
|
|
|
大家好,如果将来有人想用ADC模块通过DMA同时读取两个输入,我将分享下面的代码。我不知道代码是否完美。也许它需要一些小的调整(如果有人能帮助我调整它,我会非常感激)。然而,代码目前工作得很好。在尽可能提高教育水平的同时,本文也作了全面的评论。我还要感谢du0000和RISC的帮助。这是代码。记住,如果你看到一些效率不高的东西,或者一些可能导致问题的东西并报告给我,我会非常高兴。我试图学习,只是因为我的代码工作并不意味着它是足够的。我真的很想学习很多。享受。
|
|
|
|
|
|
现在将不同的电压施加到AN0 RESP上。AN3并检查你是否真的得到它…
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
454 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3529 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1094浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
460浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 16:55 , Processed in 0.959324 second(s), Total 59, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2554