打印
[MCU]

是通过AdcRegs.ADCTRL2.bit.SOC_SEQ1=1这个语句吗?

[复制链接]
1756|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spark周|  楼主 | 2020-1-1 12:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jiaxw| | 2020-1-1 12:22 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
spark周|  楼主 | 2020-1-1 12:27 | 只看该作者
我用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

使用特权

评论回复
地板
wuhany| | 2020-1-1 12:30 | 只看该作者
同样数值,数值是多少?

使用特权

评论回复
5
wuhany| | 2020-1-1 12:33 | 只看该作者

你这编译出错没  我的程序好像也是这个  编译不起
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

使用特权

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

使用特权

评论回复
7
liliang9554| | 2020-1-1 12:39 | 只看该作者
启动应该是一个使能啊   不是你说的那个配置

使用特权

评论回复
8
午夜粪车| | 2020-1-1 12:43 | 只看该作者
2812的AD是一个12位的,实际只有一个AD转换器

使用特权

评论回复
9
jiajs| | 2020-1-1 12:45 | 只看该作者
这16个通道可以分为两个8通道的,也可以级联为一个16通道的。

使用特权

评论回复
10
wyjie| | 2020-1-1 12:48 | 只看该作者
在配置完ADC后,要选择它的启动模式。

使用特权

评论回复
11
shimx| | 2020-1-1 12:54 | 只看该作者
PieCtrlRegs.PIEIER1.bit.INTx6 = 1;//使能AD的PIE级中断

使用特权

评论回复
12
jiahy| | 2020-1-1 12:56 | 只看该作者
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;

使用特权

评论回复
13
jiaxw| | 2020-1-1 12:59 | 只看该作者
这个数值一样就是采样数据一样。

使用特权

评论回复
14
huangchui| | 2020-1-1 13:02 | 只看该作者
你的采样频率是多大的

使用特权

评论回复
15
jlyuan| | 2020-1-1 13:06 | 只看该作者
利用通用定时器T1的周期中断事件来启动AD转换。

使用特权

评论回复
16
zhenykun| | 2020-1-1 13:11 | 只看该作者
AD中断能够实现。

使用特权

评论回复
17
wuhany| | 2020-1-1 13:13 | 只看该作者
软件启动: EvaRegs.GPTCONA.bit.T2TOADC =1

使用特权

评论回复
18
liliang9554| | 2020-1-1 13:16 | 只看该作者

只要往AdcRegs.ADCTRL2.bit.SOC_SEQ1写1就是软件启动了这个ADC。

使用特权

评论回复
19
huangchui| | 2020-1-1 13:20 | 只看该作者
SEQ1 :软件立即启动 、EVA 的多种事件 外部引脚

使用特权

评论回复
20
shimx| | 2020-1-1 13:24 | 只看该作者
/*立即复位序列发生器为 CONV00 */
AdcRegs.ADCTRL2.bit.RST_SEQ1=1;

使用特权

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

本版积分规则

821

主题

10121

帖子

4

粉丝