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.

[参考译文] UCD3138A:使用T24 TCAP和中断

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/585299/ucd3138a-using-t24-tcap-and-interrupt

部件号:UCD3138A

我需要捕获和计算传入信号的频率。 我已经在ADC_EXT_TRIG (引脚8)上找到了信号。 我正在努力找到pin启用,iomux映射和中断启用的正确组合,以允许上升(或下降)边缘触发standard_interrupt ()。  下面是一小段代码(我是从简单的东西到扔掉下面你看到的厨房水槽来构建的):

//为TCAP设置PWM0 (同步)
MiscanalogRegs.GLBIOEN.bit.ADC_EXT_TRIG_IO_EN = 1;
MiscAnalogRegs.IOMUX.Bit.EXT_TRIG MUX_SEL = 1;// EXT_TRIG ALT用作TCAP
MiscAnalogRegs.GLBIOOE.bit.ADC_EXT_TRIG IO_OE = 0;

TimerRegs.T24CAPCTRL.bit.CAP_SEL = 3;//来自(同步)引脚的TCAP
TimerRegs.T24CAPCTRL.bit.edge = 0x1;//仅在上升沿上触发
TimerRegs.T24CAPCTRL.bit.CAP_INT_ENA = 1;//启用中断

disable_fast_interrupt ();//确保快速中断已禁用
disable_interrupt ();
write_reqmask (CIMITNT_All_TMR_CAPT0);//(0x10万)//启用T24 TCAP
enable_interrupt ();
enable_fast_interrupt ();//确保为OVP关闭启用快速中断

在standard_interrupt中,我检查  

IF( 1 == TimerRegs.T24CAPCTRL.bit.CAP_INT_FLAG )

 

当我确定微控制器的针脚处有坚实的边缘/信号时,看不到任何中断。  想法?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为两个全局I/O寄存器写入一定会让您感到混乱。 我尝试在没有它们的情况下运行,并且在INTREQ寄存器中设置中断位没有问题。 您当然不希望全局I/O寄存器写入-它们是竞争对手的系统,提供了将引脚用作GPIO的不同方式。

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

    好的,我确定您对RCG软件包的建议是正确的。 但对于RMH (小引脚封装),由于我没有专用的SYNC和TCAP引脚,它实际上可以实现以下I/O mutxing (互锁)/ DEFINITONS:

    MiscanalogRegs.GLBIOEN.bit.ADC_EXT_TRIG_IO_EN = 1;
    MiscAnalogRegs.IOMUX.Bit.EXT_TRIG MUX_SEL = 1;// EXT_TRIG ALT用作TCAP
    MiscAnalogRegs.GLBIOOE.bit.ADC_EXT_TRIG IO_OE = 0;

    //TimerRegs.T24CAPCTRL.bit.CAP_SEL = 3;//来自(同步)引脚的TCAP
    TimerRegs.T24CAPCTRL.bit.edge = 0x1;//仅在上升沿上触发
    TimerRegs.T24CAPCTRL.bit.CAP_INT_ENA = 1;//启用中断

    因此,功能块针脚方向(注释出行)似乎是RMH中的问题。 我在保留本地CAP_SEL位的同时尝试了无,部分,所有GLBIO引脚定义的多种组合。  在我取出CAP_SEL位定义之前,什么都不起作用。  不管怎样,现在就开始工作!  像往常一样,伊恩!