This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F280021:如何将 AIO 配置为输入 GPIO (eCAP)?

Guru**** 2250420 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1061739/tms320f280021-how-to-configure-the-aio-to-input-gpio-ecap

器件型号:TMS320F280021

尊敬的团队:

我的客户想要将未使用的 AIO (AIO224)配置为 eCAP 的输入 GPIO、 在执行以下配置后、程序在运行后无法进入 eCAP 中断。

ECAP 初始化代码如下:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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; //ECap1INTPUT0
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
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

配置是否有问题?

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    绿色环保、

    Fullscreen
    1
    GpioCtrlRegs.GPHAMSEL.bit.GPIO224 = 1;//The analog function of the pin is disabled
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    将上面的值设置为0、并告知我们它是否仍然不起作用。