工具/软件:
我想做以下事情:
1.当 PWM 计数= 0时、使用 ADC 对我的信号进行采样
2. ADC 转换完成后、生成转换结束 脉冲。 根据此 EOC 触发中断
这是我的代码:
PWM 设置:
EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;//在发生零事件时选择 INT
EPwm1Regs.ETSEL.bit.intEn = 1;//启用 INT 我认为这不是正确的设置
EPwm1Regs.ETPS.bit.INTPRD = ET_1st;//在发生第1个事件时生成 INT
// ePWM ADC 设置
EPwm1Regs.ETSEL.bit.SOCAEN = 1;//启用 ADC A 转换启动
EPwm1Regs.ETSEL.BIT.SOCBEN = 0;//禁用 ADC B 转换启动
EPwm1Regs.ETSEL.bit.SOCASEL = 1;//使能事件时基计数器等于零
ADC 设置:
AdcaRegs.ADCCTL2.bit.resolution = 0;
AdcaRegs.ADCCTL2.bit.prescale = 0;
AdcaRegs.ADCSOC0CTL.BIT.CHSEL = 0;//SOC0转换映射到 电路板上我的信号的 ADCINA0
AdcaRegs.ADCSOC0CTL.BIT.ACQPS = 19;//SOC0使用20个 SYSCLK 周期的采样持续时间
AdcaRegs.ADCSOC0CTL.BIT.TRIGSEL = 5;//SOC0在 ePWM1 SOCA 上开始转换
AdcaRegs.ADCINTSEL1N2.bit.INT1E = 1;//启用 ADCINT1 ...我认为这是必需的
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 0;// EOC0是 ADCINT1触发器
EOC 0如何触发中断?
有什么想法,如果这看起来不错 ?