我看了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没有找到
TI中文支持网



