2812AD 问题

[复制链接]
2021|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的转化是你控制的,第一控制转化速度,第二控制转化顺序。
zhangmangui 发表于 2017-11-28 22:10 | 显示全部楼层
启动应该是一个使能啊   不是你说的那个配置
kkzz 发表于 2017-11-29 16:02 | 显示全部楼层
2812的AD是一个12位的,实际只有一个AD转换器
hudi008 发表于 2017-11-29 16:03 | 显示全部楼层
这16个通道可以分为两个8通道的,也可以级联为一个16通道的。
lzmm 发表于 2017-11-29 16:03 | 显示全部楼层
在配置完ADC后,要选择它的启动模式。
minzisc 发表于 2017-11-29 16:04 | 显示全部楼层
PieCtrlRegs.PIEIER1.bit.INTx6 = 1;//使能AD的PIE级中断
minzisc 发表于 2017-11-29 16:04 | 显示全部楼层
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;
selongli 发表于 2017-11-29 16:08 | 显示全部楼层
这个数值一样就是采样数据一样。
fentianyou 发表于 2017-11-29 16:09 | 显示全部楼层
你的采样频率是多大的
xiaoyaodz 发表于 2017-11-29 16:09 | 显示全部楼层
利用通用定时器T1的周期中断事件来启动AD转换。
febgxu 发表于 2017-11-29 16:11 | 显示全部楼层
AD中断能够实现。
sdlls 发表于 2017-11-29 16:11 | 显示全部楼层
软件启动: EvaRegs.GPTCONA.bit.T2TOADC =1
pixhw 发表于 2017-11-29 16:12 | 显示全部楼层
只要往AdcRegs.ADCTRL2.bit.SOC_SEQ1写1就是软件启动了这个ADC。
lzmm 发表于 2017-11-29 16:12 | 显示全部楼层
SEQ1 :软件立即启动 、EVA 的多种事件 外部引脚
kkzz 发表于 2017-11-29 16:12 | 显示全部楼层
/*立即复位序列发生器为 CONV00 */
AdcRegs.ADCTRL2.bit.RST_SEQ1=1;
hudi008 发表于 2017-11-29 16:12 | 显示全部楼层
当序列转换结束时,转换序列自动重复开始
minzisc 发表于 2017-11-29 16:12 | 显示全部楼层
这个触发的是中断吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

380

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部