完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,我是PIC32MX的新手,我用的是PIC32MX220F032B。我用了一个PIC8,但是很久以前就用了。我需要从一个模拟管脚转换一个模拟信号,但是我每10m s只需要一个转换。我读了示例,我读了数据表,但是我不明白。总之,有太多的参数…(时间,Fosc,TAD等)我用的是8MHz晶体,我的配置位是:有什么帮助吗?我认为我需要一个定时器,每10ms中断一次,但我不知道我能否用ADC(没有定时器)自动完成。抱歉,我的无知,我知道你不能为我做代码,但如果有专家能给我一些提示,我会非常感激。提前问候和感谢!
|
|
相关推荐
4个回答
|
|
以“最简单的”(最愚蠢的)方式,我会设置一些延时,运行5mS,每次奇怪事件你开始获取,甚至每次你读转换后的值。用计时器唱自动ADC触发器(我不确定你的PIC能做到这一点,但其他人可以)
|
|
|
|
嗨,这里还有更多的阅读:家庭参考手册有描述,一步一步的指导和一些示例代码。http://ww1.micro..com/downloads/en/DeviceDoc/61104E.pdf 10毫秒不应该是AD转换器用来测量1位结果的时间。一些内务工作,所以转换时间是12TAD。如果你不太匆忙的话,TAD=200纳秒是一个推荐的最小值。200ns*12=2.4微秒。此外,在转换开始之前,还需要时间给内部测量电容器充电。你想要,但是AD硬件可以自动计数在1到31TAD之间。如果你使TAD=250ns,转换时间是3微秒,那么你可以使采样时间7微秒/0.250=28TADThe AD转换器不直接从Fosc运行。是函数返回的数字:Get.pheralClock();如果所有其他设置都是正确的,那么这可能是48000000000Hz以使TAD=250ns,对应于4MHz(48MHz/4MHz/2)-1=5。这是AD1CON3寄存器中ADCS字段中要设置的值:AD1CON3bits.ADCS=5;AD1CON3bits.SAMC=28;AD1CON3字段位.ADRC=0;为了在10微秒间隔内进行转换,可以使用SSRC=7;内部计数器结束采样并开始转换,这是手动采样和自动转换。当您设置SAMP位时,AD1CON1bits.SAMP=1;首先采样,然后执行转换。NE位从0变为1,结果已经准备好了:(AD1CON1BITS = = 0);/*在AD工作时等待。*/Result=ADC1BUF0;如果测量之间需要非常精确的间隔,可以使用Timer3结束转换并开始采样。在这种情况下,使用SSRC=2,否则过程相同,您设置SAMP位,等待DONE位从0变为1,读取the结果,设置DONE位=0和SAMP位=1,然后等待DONE位从0变为1。但是,有一个问题,原始消息中的代码片段不显示配置位,代码片段显示一些宏定义,这些宏定义只有在c配置和其他设置对于48MHz系统时钟频率是正确的。配置位由pragma config...指定。要在48MHz时钟频率下运行PIC32,还需要pragma config FNOSC=PRIPLLThere其他几个设置。如果根本不存在这样的设置,则PIC32将运行在4 MHz使用内部振荡器。问候,Mysil
|
|
|
|
好吧,已经有点复杂了!所以,我想说SetChanADC10应该*在*OpenADC之后;那么我永远不能确定这些语法,有时最好重新检查ADC寄存器的结尾。您的定时器中断执行吗?(我不明白您在哪里初始化它)在ISR中使用float和sprintf函数通常是不好的做法,但是现在让我们跳过这个。
|
|
|
|
感谢双方!太好了,我明白了!谢谢,我把我的新代码放在下面。很好,我会用它。我把它放在我的代码里。再次谢谢!对不起,我只显示了ADC部分,但我已经使用了这个配置位。我在下面的代码中显示我的配置位。谢谢你的帮助,完成了!我把它放在我的代码下面。对不起,我只显示了ADC部分,以免与其他部分打扰你,但我把它放在我的代码下面。我认为BusyADC10()返回“完成”位,直到完成!=1,我认为转换是不可行的。但是我已经改变了,现在比以前更清楚了。我的新代码基于您的建议(忘记UART部分):我认为它可以工作。明天我会收到我的定制板,我可以测试它。你怎么认为?
|
|
|
|
只有小组成员才能发言,加入小组>>
5166 浏览 9 评论
2000 浏览 8 评论
1929 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3175 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2227 浏览 5 评论
736浏览 1评论
619浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
507浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
633浏览 0评论
530浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 05:59 , Processed in 1.479284 second(s), Total 104, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号