TI论坛
直播中

黎菁菁

7年用户 574经验值
私信 关注
[问答]

请问怎么设置能实现28069的AD上电就开始采样?

现想实现28069芯片的AD上电就开始采样,不需要任何事件触发,请问应该怎么设置呢

回帖(4)

叶紫薇

2018-11-16 14:33:26

我是想改成AdcRegs.INTSEL1N2.bit.INT1CONT  = 1  连续转换模式,然后中断不开,用DMA传送ADC值到我的内存,这样就不会占用CPU资源了吧~~~应该可以的吧?? 
举报

叶紫薇

2018-11-16 14:48:35
引用: 60user89 发表于 2018-11-16 07:12
我是想改成AdcRegs.INTSEL1N2.bit.INT1CONT  = 1  连续转换模式,然后中断不开,用DMA传送ADC值到我的内存,这样就不会占用CPU资源了吧~~~应该可以的吧?? 

贡献一下调好的代码吧,能用了
 EALLOW;
 AdcRegs.ADCCTL1.bit.ADCREFSEL = 1;      // Page485 选择外部VREF
    AdcRegs.ADCCTL2.bit.ADCNONOVERLAP = 0; // Enable non-overlap mode 0允许重叠/1不允许
 AdcRegs.INTSEL1N2.bit.INT1E     = 1; //Enabled ADCINT1
 AdcRegs.INTSEL1N2.bit.INT1CONT  = 1; //Disable ADCINT1 Continuous mode
 AdcRegs.INTSEL1N2.bit.INT1SEL = 0; //setup EOC0 to trigger ADCINT1 to fire
 AdcRegs.ADCSAMPLEMODE.bit.SIMULEN0 = 1; // 同时采样
 AdcRegs.ADCSOC0CTL.bit.CHSEL  = 0; //set SOC0 channel select to ADCINA0
 AdcRegs.ADCSOC1CTL.bit.CHSEL  = 8; //set SOC1 channel select to ADCINB0  page510
 AdcRegs.ADCSOC0CTL.bit.TRIGSEL  = 0; //set SOC0 start trigger on software
 AdcRegs.ADCSOC1CTL.bit.TRIGSEL  = 0; //set SOC1 start trigger on software
  AdcRegs.ADCSOC0CTL.bit.ACQPS  = 6; //set SOC0 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)
 AdcRegs.ADCSOC1CTL.bit.ACQPS  = 6; //set SOC0 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)
 AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1; //ADCINT1 trips after AdcResults latch
 AdcRegs.ADCINTSOCSEL1.bit.SOC0  = 1; //软件触发源ADCINT1
 AdcRegs.ADCINTSOCSEL1.bit.SOC1  = 1; //ADCINT2 will trigger SOC0. TRIGSEL field is ignored.
    //使用ADCSOCFRC1启动
    //AdcRegs.ADCSOCFRC1.all = 0X0101;   //0000 0001 0000 0001
    AdcRegs.ADCSOCFRC1.bit.SOC0 = 1;
    AdcRegs.ADCSOCFRC1.bit.SOC8 = 1;
 EDIS;
举报

冯敬宇

2018-11-16 15:07:02
引用: 60user89 发表于 2018-11-16 07:28
贡献一下调好的代码吧,能用了
 EALLOW;
 AdcRegs.ADCCTL1.bit.ADCREFSEL = 1;      // Page485 选择外部VREF

要把
AdcRegs.INTSEL1N2.bit.INT1SEL = 0; // 0 改成1
AdcRegs.ADCSOCFRC1.bit.SOC8 = 1; //SOC8 改成SOC1
Eric
                                                                         - ERIC
举报

叶紫薇

2018-11-16 15:18:51
引用: guigui_7044 发表于 2018-11-16 07:46
要把
AdcRegs.INTSEL1N2.bit.INT1SEL = 0; // 0 改成1
AdcRegs.ADCSOCFRC1.bit.SOC8 = 1; //SOC8 改成SOC1

3Q,总算暂时搞得了~~时间比较赶,似懂非懂,没非常细看资料,下次有时间再看了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分