您好!
对于280049、我们需要监控多个模拟输入、以便使用比较器对 ePWM 进行三角测量。
例如、我们从2个比较器(1和3)开始、然后设置7。
我们所面对的问题是:
CMPSS1工作正常、并对 ePWM 进行 TRIG
当 CMPSS1未启用时、CMPSS3工作正常、它会触发 ePWM 和外部 IO
只要我启用 CMPSS1、CMPSS3就不再工作。
我已经加入了2个初始化代码段,但在 CMPSS1中看不到哪些指令可能会阻塞 CMPSS3?
此致
Francois
空 Comp1Init (空)
{
//! 初始化输出电压比较器。
//!
//! \param 无。
//!
//! CMPSS1
//!
//! 返回0无。
EALLOW;
CpuSysRegs.PCLKCR14.bit.CMPSS1 = 1;/* 1:模块时钟被打开。 *
Cmpss1Regs.COMPCTL.bit.COMPDACE = 1;/* 1比较器/DAC 被启用*
/*比较器高电平*/
Cmpss1Regs.COMPCTL.bit.COMPHSOURCE = 0;/* 0由内部 DAC 驱动的比较器的反相输入*
Cmpss1Regs.COMPDACCTL.bit.SELREF = 0;/* 0 VDDA 是 DAC 的电压基准*
Cmpss1Regs.DACHVALS.bit.DACVAL = 2048;//3560;
Cmpss1Regs.COMPCTL.bit.CTRIPHSEL = 0;/* 0异步比较器输出驱动 CTRIPH */
//Cmpss1Regs.COMPCTL.bit.CTRIPOUTHSEL = 0;/* 0异步比较器输出驱动 CTRIPOUTH *
/*输入高电平= A2 */
AnalogSubsysRegs.CMPHPMXSEL.bit.CMP1HPMXSEL = 0;// 0:A2 High Positive *
/* EPwmA 上的触发区*/
EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX0 = 0;//将 TRIP4配置为 CTRIP1H */
EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX0 = 1;// 1:启用 Mux0的相应输出以驱动 ePWM-XBAR 的 TRIP4 */
EDIS;
}
空 COMP3Init (空)
{
//! 初始化输出电压比较器。
//!
//! \param 无。
//!
//! CMPSS3
//!
//! 返回0无。
EALLOW;
CpuSysRegs.PCLKCR14.bit.CMPSS3 = 1;// 1:模块时钟被打开。 *
Cmpss3Regs.COMPCTL.bit.COMPDACE = 1;/* 1比较器/DAC 被启用*
/*比较器高电平*/
Cmpss3Regs.COMPCTL.bit.COMPHSOURCE = 0;/* 0由内部 DAC 驱动的比较器的反相输入*
Cmpss3Regs.COMPDACCTL.bit.SELREF = 0;/* 0 VDDA 是 DAC 的电压基准*
Cmpss3Regs.DACHVALS.bit.DACVAL = 2048;//3560;
Cmpss3Regs.COMPCTL.bit.CTRIPHSEL = 0;/* 0异步比较器输出驱动 CTRIPH */
Cmpss3Regs.COMPCTL.bit.CTRIPOUTHSEL = 0;/* 0异步比较器输出驱动 CTRIPOUTH *
/*输入高电平= B3 */
AnalogSubsysRegs.CMPHPLXSEL.bit.CMP3HPMXSEL = 3;// 3:B3为高电平正数*/
/* EPwmA 上的触发区*/
EPwmXbarRegs.TRIP7MUX0TO15CFG.bit.MUX4 = 0;//将 TRIP7配置为 CTRIP3H */
EPwmXbarRegs.TRIP7MUXENABLE.BIT.MUX4 = 1;// 1:启用 Mux0的相应输出以驱动 ePWM-XBAR 的 TRIP7 */
/*到引脚的输出*/
OutputXbarRegs.OUTPUT5MUX0TO15CFG.bit.MUX4 = 0;/* 00:为 Mux0选择.0输入*/
OutputXbarRegs.OUTPUT5MUXENABLE.BIT.MUX4 = 1;/* 1:启用 Mux0的相应输出以驱动 OUTPUT5的 OUTPUT5输出- XBAR *
GpioCtrlRegs.GPADIR.bit.GPIO28 = 1;/* 1:引脚为输出*/
GpioCtrlRegs.GPAMUX2.bit.GPIO28=1;
GpioCtrlRegs.GPAGMUX2.bit.GPIO28 = 1;
EDIS;
}