请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F280021 尊敬的团队:
我的客户想要将未使用的 AIO (AIO224)配置为 eCAP 的输入 GPIO、 在执行以下配置后、程序在运行后无法进入 eCAP 中断。
ECAP 初始化代码如下:
InputXbarRegs.INPUT1SELECT = 224; //使用INPUT1--AIO224引脚 GpioCtrlRegs.GPHAMSEL.bit.GPIO224 = 1;//The analog function of the pin is disabled GpioCtrlRegs.GPHQSEL1.bit.GPIO224 = 1; //GPIO配置为同步模式 GpioCtrlRegs.GPHCTRL.bit.QUALPRD0=150; EALLOW; ECap1Regs.ECCTL0.bit.INPUTSEL = 0; //ECap1捕获引脚对应到INTPUT0 ECap1Regs.ECEINT.all = 0x0000; // Disable all capture interrupts ECap1Regs.ECCLR.all = 0xFFFF; // Clear all CAP interrupt flags ECap1Regs.ECCTL1.bit.CAPLDEN = 0; // Disable CAP1-CAP4 register loads ECap1Regs.ECCTL2.bit.TSCTRSTOP = 0; // Make sure the counter is stopped // Configure peripheral registers ECap1Regs.ECCTL2.bit.CAP_APWM = 0; // CAP mode ECap1Regs.ECCTL2.bit.CONT_ONESHT = 0; // Continuous mode ECap1Regs.ECCTL2.bit.STOP_WRAP = 1; // Stop at 2 events ECap1Regs.ECCTL1.bit.PRESCALE = 0; // Divide by 1 分频 ECap1Regs.ECCTL1.bit.CAP1POL = 1; // falling edge ECap1Regs.ECCTL1.bit.CAP2POL = 1; // falling edge ECap1Regs.ECCTL1.bit.CTRRST1 = 1; // Difference operation ECap1Regs.ECCTL1.bit.CTRRST2 = 0; // Difference operation ECap1Regs.ECCTL2.bit.SYNCI_EN = 0; // Enable sync in ECap1Regs.ECCTL2.bit.SYNCO_SEL = 3; // Disable sync out signal ECap1Regs.ECCTL1.bit.CAPLDEN = 1; // Enable capture units ECap1Regs.ECCTL2.bit.TSCTRSTOP = 1; // Start Counter 启动 // ECap1Regs.ECEINT.bit.CEVT2 = 1; // 2 events = interrupt ECap1Regs.ECEINT.bit.CEVT1 = 1; // 1 events = interrupt EDIS;
配置是否有问题?
此致