工具/软件:Code Composer Studio
如何使用 cmpss 中的斜坡发生器而不是 dacvala 寄存器来工作?
有没有方法可以在 cmpss 代码中使用数字滤波 器来生成斜坡
在 cmpss 数字滤波器的现有代码中-
空 InitCMPSS (空)
{
EALLOW;
//
//启用 CMPSS
//
Cmpss1Regs.COMPCTL.bit.COMPDACE = 1;
//
//NEG 信号来自 DAC
//
Cmpss1Regs.COMPCTL.bit.COMPHSOURCE = NEGIN_DAC;
//
//使用 VDDA 作为 DAC 的基准
//
Cmpss1Regs.COMPDACCTL.bit.SELREF = reference_VDDA;
//
//将 DAC 设置为中点以进行任意引用
//
Cmpss1Regs.DACHVALS.bit.DACVAL = 2048;
//
//配置数字过滤器
//最大 CLKPRESCALE 值可在两次采样之间提供最多的时间
//
Cmpss1Regs.CTRIPHFILCLKCTL.bit.CLKPRESCALE = 0x3FF;
//
//最大 SAMPWIN 值可提供最大数量的样本
//
Cmpss1Regs.CTRIPHFILCTL.bit.SAMPWIN = 0x1F;
//
//最大阈值要求整个窗口的静态值
// THRESH 应该大于 SAMPWIN 的一半
//
cmps1Regs.CTRIPHFILCTL.bit.THRESH = 0x1F;
//
//复位滤波器逻辑&开始滤波
//
cmps1Regs.CTRIPHFILCTL.bit.FILINIT = 1;
//
//配置 CTRIPOUT 路径
//数字滤波器输出馈送 CTRIPH 和 CTRIPOUTH
//
Cmpss1Regs.COMPCTL.bit.CTRIPHSEL = CTRIP_FILTER;
Cmpss1Regs.COMPCTL.bit.CTRIPOUTHSEL = CTRIP_FILTER;
//
//配置 CTRIPOUTH 输出引脚
//将 OUTPUTXBAR3配置为 CTRIPOUT1H
//
OutputXbarRegs.OUTPUT3MUX0TO15CFG.ALL 和=~((UINT32) 1);
//
//为输出启用 OUTPUTXBAR3多路复用器
//
OutputXbarRegs.OUTPUT3MUXENABLE.ALL |=(uint32) 1;
EDIS;
}
C
不包含用于从 DAC 或斜坡发生器中选择 COMPH_n 源的任何代码
COMPDACCTL.bit.DACSOURCE = 1; //选择斜坡发生器作为源