打印

2812AD 问题

[复制链接]
1143|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Richardd|  楼主 | 2017-11-28 11:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2812 AD选择级联模式时怎么软件启动AD,是通过AdcRegs.ADCTRL2.bit.SOC_SEQ1=1这个语句吗?我用CpuTimer0定时采样,定时器中断程序

StopCpuTimer0();
        AdcRegs.ADCTRL2.bit.RST_SEQ1=1;                //复位序列发生器
        AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;                        //进入定时器0一次,启动一次定时器中断
        CpuTimer0Regs.TCR.bit.TIF=1;                        //清除定时器中断标志
        CpuTimer0Regs.TCR.bit.TRB=1;                        //重新装载定时器数值
        StartCpuTimer0();                                                //开定时器定时
        PieCtrlRegs.PIEACK.bit.ACK1=1;                        //允许响应同组其他中断

在ADC中断程序里加入了调试程序段,采集256点后程序停止在调试程序段中的while(1)出,index值也为256,证明是进入ADC中断了,可是采样的256点是同样的值是为什么?!输入的为50Hz的0-2.5V的正弦波

调试程序段:

#if 1
        if(index>=256)
        {
                StopCpuTimer0();
                while(1);
        }
#endif

相关帖子

沙发
Mattheww| | 2017-11-28 11:29 | 只看该作者
同样数值,数值是多少?

使用特权

评论回复
板凳
Erichk| | 2017-11-28 11:42 | 只看该作者
你这编译出错没  我的程序好像也是这个  编译不起
undefined      first referenced              
  symbol            in file                  
---------      ----------------              
_AdcRegs       ./source/main.obj            
_CpuTimer0Regs ./source/DSP281x_CpuTimers.obj
_PieCtrlRegs   ./source/DSP281x_PieCtrl.obj  
_PieVectTable  ./source/main.obj            
_SysCtrlRegs   ./source/DSP281x_SysCtrl.obj  

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "AD.out" not built

使用特权

评论回复
地板
Thorald| | 2017-11-28 11:52 | 只看该作者
AD的外部接口一直在采集,这个速度是根据你设置的ADC的时钟频率来决定的,而ADC的转化是你控制的,第一控制转化速度,第二控制转化顺序。

使用特权

评论回复
5
zhangmangui| | 2017-11-28 22:10 | 只看该作者
启动应该是一个使能啊   不是你说的那个配置

使用特权

评论回复
6
kkzz| | 2017-11-29 16:02 | 只看该作者
2812的AD是一个12位的,实际只有一个AD转换器

使用特权

评论回复
7
hudi008| | 2017-11-29 16:03 | 只看该作者
这16个通道可以分为两个8通道的,也可以级联为一个16通道的。

使用特权

评论回复
8
lzmm| | 2017-11-29 16:03 | 只看该作者
在配置完ADC后,要选择它的启动模式。

使用特权

评论回复
9
minzisc| | 2017-11-29 16:04 | 只看该作者
PieCtrlRegs.PIEIER1.bit.INTx6 = 1;//使能AD的PIE级中断

使用特权

评论回复
10
minzisc| | 2017-11-29 16:04 | 只看该作者
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;

使用特权

评论回复
11
selongli| | 2017-11-29 16:08 | 只看该作者
这个数值一样就是采样数据一样。

使用特权

评论回复
12
fentianyou| | 2017-11-29 16:09 | 只看该作者
你的采样频率是多大的

使用特权

评论回复
13
xiaoyaodz| | 2017-11-29 16:09 | 只看该作者
利用通用定时器T1的周期中断事件来启动AD转换。

使用特权

评论回复
14
febgxu| | 2017-11-29 16:11 | 只看该作者
AD中断能够实现。

使用特权

评论回复
15
sdlls| | 2017-11-29 16:11 | 只看该作者
软件启动: EvaRegs.GPTCONA.bit.T2TOADC =1

使用特权

评论回复
16
pixhw| | 2017-11-29 16:12 | 只看该作者
只要往AdcRegs.ADCTRL2.bit.SOC_SEQ1写1就是软件启动了这个ADC。

使用特权

评论回复
17
lzmm| | 2017-11-29 16:12 | 只看该作者
SEQ1 :软件立即启动 、EVA 的多种事件 外部引脚

使用特权

评论回复
18
kkzz| | 2017-11-29 16:12 | 只看该作者
/*立即复位序列发生器为 CONV00 */
AdcRegs.ADCTRL2.bit.RST_SEQ1=1;

使用特权

评论回复
19
hudi008| | 2017-11-29 16:12 | 只看该作者
当序列转换结束时,转换序列自动重复开始

使用特权

评论回复
20
minzisc| | 2017-11-29 16:12 | 只看该作者
这个触发的是中断吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

380

帖子

0

粉丝