社区导航

 

搜索
查看: 2655|回复: 4

[求助] DSP2812内部AD采样问题

[复制链接]

25

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-8-7 11:04 | 显示全部楼层 |阅读模式
我用内部AD采样,寄存器都配置完善了可是最后采样出来的结果完全不行。有没有大神已经调试好的,给个建议。
QQ图片20150807110255.png


回复

使用道具 举报

25

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-7 11:04 | 显示全部楼层
void main()
{
//        Uint32 i;
                  //EALLOW;
                         //    GpioMuxRegs.GPAMUX.all=0x0000;
                         //    GpioMuxRegs.GPADIR.all=0xFFFF;            // upper byte as output/low byte as input
                          //   GpioMuxRegs.GPAQUAL.all=0x0000;        // Input qualifier disabled
                        //     EDIS;
                        InitSysCtrl();
                        DINT;
                        IER=0x0000;                //禁止CPU中断
                        IFR=0x0000;                //清除CPU中断标志
                        InitPieCtrl();        //初始化PIE控制寄存器
                      //  InitPieVectTable();//初始化PIE中断向量表
                      //  StopCpuTimer0();
                    //    InitCpuTimers();        //初始化定时器相关配置
                     //   ConfigCpuTimer(&CpuTimer0,3,1000000);
                        InitAdc();                        //初始化ADC相关配置
                     //   StartCpuTimer0();                        //启动定时器0
                       // AdcRegs.ADCTRL2.bit.RST_SEQ1=1;                //复位序列发生器
                       // AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;                        //进入定时器0一次,启动一次定时器中断
                                IER|=M_INT1;                                //开CPU中断
                                EINT;                                                //使能全局中断
                                ERTM;                                                //使能实时中断
                               EnableInterrupts();
        //             PieCtrlRegs.PIEIER1.bit.INTx7=1;//使能CPU定时器0 PIE中断
                     PieCtrlRegs.PIEIER1.bit.INTx6=1;//使能PIE中断中ADC中断
           for(;;)
           {
                   AdcRegs.ADCTRL2.bit.RST_SEQ1=1;                //复位序列发生器
                   AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;                        //进入定时器0一次,启动一次定时器中断
                   while(AdcRegs.ADCST.bit.INT_SEQ1== 0){}
                   asm(" RPT #11 || NOP ");               //延时11+1=12个时钟周期
                 //  asm(" RPT #11 || NOP ");               //延时11+1=12个时钟周期
                   AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;        //清除AD中断标志位
                   if(Xaddr>((Uint16 *)0x61FF))
                   Xaddr = (Uint16 *) (0x6100);
                   *Xaddr++ = (AdcRegs.ADCRESULT0>>4);
                   LoopCount++ ;
           }
}


回复

使用道具 举报

23

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2015-9-28 15:36 | 显示全部楼层
ADC的参考地管脚你接地了么?


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-4-23 16:02 | 显示全部楼层
gracesky1194 发表于 2015-9-28 15:36
ADC的参考地管脚你接地了么?

如何接地?


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-4-25 17:30 | 显示全部楼层

板子上有模拟地,你可以看一下说明书,另外要跟信号的地线连起来。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-2 21:35 , Processed in 0.198716 second(s), 26 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表