主题中讨论的其他器件:C2000WARE
您好!
我正在尝试从 ADC 采样并使其从 CPU 定时器0触发、但它只是不想在引脚 A2上启动转换。 以下是配置函数:
_interrupt void CPU_timer0_ISR (void)
{
CpuTimer0.InterruptCount++;
PieCtrlRegs.PIEACX.ALL = PIEACK_Group1;
}
空配置 ADC (空)
{
EALLOW;
//
//写入配置
//
AdcaRegs.ADCCTL2.bit.prescale = 6;//将 ADCCLK 分频器设置为/4
AdcSetMode (ADC_ADCA、ADC_resolution_12位、ADC_SIGNALMODE_SINGLE);
//
//将脉冲位置设置为晚期
//
AdcaRegs.ADCCTL1.bit.INTPULSEPOS=1;
//
//为 ADC 加电
//
AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;
//
//延迟1ms 以允许 ADC 加电时间
//
DELAY_US (1000);
EDIS;
}
void SetupADC_tint (uint16通道)
{
//
//选择要转换的通道和转换结束标志
//
EALLOW;
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 0;//SOC0将转换引脚 A2
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 14;//采样窗口为100个 SYSCLK 周期- 12位
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 1;// CPU 定时器0上的触发
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 0;// SOC0结束将设置 INT1标志
AdcaRegs.ADCINTSEL1N2.bit.INT1E = 1;//启用 INT1标志
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;//确保 INT1标志被清除
EDIS;
}
中断 void adca1_ISR (void)
{
//DAC_PTR[DAC_num]->DACVALS.ALL = AdcaResultRegs.ADCRESULT0;
stejt = AdcaResultRegs.ADCRESULT0;
//stejt = 4000;
}
编辑
我已将 AdcaRegs.ADCSOC0CTL.bit.CHSEL 更改为2、且 stejt = AdcResultRegs.ADCRESULT2;但即使在我向 A2引脚施加3.3V 电压后、变量 stejt 中仍然没有任何内容