打印

采集的问题

[复制链接]
820|4
手机看帖
扫描二维码
随时随地手机跟帖
沙发
wangch_sh| | 2014-10-24 12:39 | 只看该作者
模拟信号什么样?程序什么样?

使用特权

评论回复
板凳
天空的泡泡|  楼主 | 2014-10-25 15:10 | 只看该作者
wangch_sh 发表于 2014-10-24 12:39
模拟信号什么样?程序什么样?

我是采样一个200HZ的单频信号,现在出现的这样一个问题 就是信号有输入,显示就是没有转换输出来。因为不管AD输入端有没有信号输入,输出的数据都是一个恒定的值

使用特权

评论回复
地板
天空的泡泡|  楼主 | 2014-10-25 15:13 | 只看该作者
天空的泡泡 发表于 2014-10-25 15:10
我是采样一个200HZ的单频信号,现在出现的这样一个问题 就是信号有输入,显示就是没有转换输出来。因为不 ...

Uint16 SampleTable[BUF_SIZE];
void adc_init(void);
void read_adcresults();

void main()
{
   InitSysCtrl();
    DINT;
   InitPieCtrl();
   IER = 0x0000;
   IFR = 0x0000;
   InitPieVectTable();
   adc_init();
   AdcRegs.ADCTRL2.bit.SOC_SEQ1 =1;
   while(1)
   {
    read_adcresults();
    //DELAY_US(100000L);
        }
}       
void adc_init(void)
{
        EALLOW;
        #if (CPU_FRQ_150MHZ)     // Default - 150 MHz SYSCLKOUT
         #define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3)   = 25.0 MHz
        #endif
        #if (CPU_FRQ_100MHZ)
         #define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2)   = 25.0 MHz
        #endif
        EDIS;
        InitAdc();
        EALLOW;
        SysCtrlRegs.HISPCP.all = ADC_MODCLK;        // HSPCLK = SYSCLKOUT/ADC_MODCLK
        EDIS;
        AdcRegs.ADCTRL1.bit.ACQ_PS = 0xf;
        AdcRegs.ADCTRL3.bit.ADCCLKPS = 0x1;      
        AdcRegs.ADCTRL1.bit.SEQ_OVRD = 1;  
        AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 1;
        AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;     
        AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0;         
        AdcRegs.ADCTRL1.bit.CONT_RUN = 1;

}
void read_adcresults()
{        int i;
        for(i=0;i<BUF_SIZE;i++)
        {        AdcRegs.ADCTRL2.bit.RST_SEQ1 =1;
                AdcRegs.ADCTRL2.bit.SOC_SEQ1 =1;
                while(AdcRegs.ADCST.bit.INT_SEQ1 == 0);
                AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
                SampleTable=AdcRegs.ADCRESULT0>>4;
        }
}

使用特权

评论回复
5
wangch_sh| | 2014-10-25 18:23 | 只看该作者
网上有例程吧,参考一下。

使用特权

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

本版积分规则

2

主题

11

帖子

0

粉丝