TI中文支持网
TI专业的中文技术问题搜集分享网站

f28035 HRCAP我按如下配置怎么进不了中断?

我看了f28035的HRCAP的datasheet,也看了TI的例程hrcap_capture_hrpwm,并按照例程中的配置对我的程序进行初始化配置,但是当我加下降沿的时候,怎么进不了中断?求高手帮忙解答,谢谢!初始化配置代码如下:
void sInitHRcap(void)         //
{
        EALLOW;
        HRCap1Regs.HCCTL.bit.SOFTRESET = 1;
        HRCap1Regs.HCCTL.bit.HCCAPCLKSEL = 1;  //HCCAPCLK = PLLCLK = SYSCLK * 2
        HRCap1Regs.HCCTL.bit.FALLINTE = 1;     //Enable falling edge capture event interrupt
        HRCap1Regs.HCCTL.bit.RISEINTE = 0;     //Disable Rising Edge Capture Event Interrupt
        EDIS;
}

Chen Jones:

PIE级的中断允许开了么?  是只能进一次还是一次都进不了?

总中断EINT开了么?

alisa song:

回复 Chen Jones:

PIE的允许中断开了,总中断也开了,开始一次也进不了,现在是只能进入一次。不知道是为什么,请高手帮忙解答,谢谢!

Chen Jones:

回复 alisa song:

在中断服务函数的末尾加上Acknowledge 语句,

下面是个例子,你改写一下GROUP就可以了。

 //Acknowledge the PIE to be able to receive more interrupts PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;

 

alisa song:

回复 Chen Jones:

好的,非常感谢,我试试。

Chen Jones:

回复 alisa song:

测试之后,别忘了回来反馈一下呦!

 

alisa song:

回复 Chen Jones:

谢谢你的回复,不知道为什么,还是只能进一次中断,而且感觉不是很容易捕获,问题出哪里呢?

jinquan li:

回复 alisa song:

我最近调试28069也遇到这个问题,最后发现是HCICLR这个寄存器的中断标志位清除不了,在后面

EALLOW; HRCap2Regs.HCICLR.all = 0xFFFF; EDIS;

就可以了

说明书上没有标明HCICLR需要eallow的,但是没有eallow貌似中断标志位不能清除,所以只能进中断一次

user1937915:

HRCAP的中断,对应哪个中断号,在哪里可以看得到,TI官网的资料,只有CAP的中断,属于中断4.1。但是HRCAP没有找到

赞(0)
未经允许不得转载:TI中文支持网 » f28035 HRCAP我按如下配置怎么进不了中断?
分享到: 更多 (0)