MSP430技术论坛
直播中

wzr0701

9年用户 184经验值
擅长:可编程逻辑 嵌入式技术 处理器/DSP 控制/MCU
私信 关注
[问答]

MSP430FR2033 ADC采集问题求解

我要使用MSP430FR2033 ADC的A7 A8 A9通道轮询采集数据,A7 A8 A9分开独立测试都是能采集到正确的ADC数据,但我把3个放到一起轮询采集的时候,一直只能采集到第一个通道的ADC数据,DEBUG查ADC寄存器状态时查到通道没有切换成功,A7 A8 A9通道切换配置是参考demo code来配置的,具体配置代码如下:



Adc_Capture代码如下:
[/url]
主函数轮询读取ADC值代码如下:
[url=http://www.deyisupport.com/cfs-file.ashx/__key/communityserver-discussions-components-files/55/8524.main.png]

请问各位大神这问题出在哪里?

  • 中断
  • 初始化延时
已退回6积分

回帖(7)

michael_llh

2016-8-29 14:06:10
你这样的代码感觉有问题,通过延时的话不能保证这个时间内采样已经完成,如果你三个通道分别采集的话是可以,那直接融合进来就可以了。每次采集好了之后把buf重置,或者是ADC配置成初始状态,然后进行采集另外一个通道就可以了。印象中是可以多个通道采集的,具体怎么配置我没做过,具体看下datasheet
举报

wzr0701

2016-8-29 14:10:25
那请问具体该怎么改?FR2033是支持多通道采集的,但我现在不需要用到多通道同时采集,我只需要单个通道在我需要的时间点进行采集就OK了,你说的我有些不是很明白,希望你能具体指点一下该怎么做才对。
举报

wzr0701

2016-8-29 14:10:45
引用: michael_llh 发表于 2016-8-29 14:06
你这样的代码感觉有问题,通过延时的话不能保证这个时间内采样已经完成,如果你三个通道分别采集的话是可以,那直接融合进来就可以了。每次采集好了之后把buf重置,或者是ADC配置成初始状态,然后进行采集另外一个通道就可以了。印象中是可以多个通道采集的,具体怎么配置我没做过,具体看下datasheet ...

那请问具体该怎么改?FR2033是支持多通道采集的,但我现在不需要用到多通道同时采集,我只需要单个通道在我需要的时间点进行采集就OK了,你说的我有些不是很明白,希望你能具体指点一下该怎么做才对。
举报

michael_llh

2016-8-29 15:13:46
引用: wzr0701 发表于 2016-8-29 14:10
那请问具体该怎么改?FR2033是支持多通道采集的,但我现在不需要用到多通道同时采集,我只需要单个通道在我需要的时间点进行采集就OK了,你说的我有些不是很明白,希望你能具体指点一下该怎么做才对。

我明白你意思,就是想用同一个模块,但是不需要多路采集。你试下每次初始化之后加一个延时,同时吧采集到的buf清空,然后再去采集
举报

wzr0701

2016-8-29 15:34:23
引用: michael_llh 发表于 2016-8-29 15:13
我明白你意思,就是想用同一个模块,但是不需要多路采集。你试下每次初始化之后加一个延时,同时吧采集到的buf清空,然后再去采集

我在这里是有加延时的,然后中断里面并不是用buf存的ADC值,直接用一个全局变量存的
举报

michael_llh

2016-8-29 15:54:44
引用: wzr0701 发表于 2016-8-29 15:34
我在这里是有加延时的,然后中断里面并不是用buf存的ADC值,直接用一个全局变量存的

不是这里的延时,是初始化ADC之后加一个延时,不是采集当中的延时
举报

wzr0701

2016-8-29 16:00:38
引用: michael_llh 发表于 2016-8-29 15:54
不是这里的延时,是初始化ADC之后加一个延时,不是采集当中的延时

好像还是一样的效果,请问你可以加下我QQ给我在线指点一下可以吗?我的QQ是2537680692,谢谢!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分