interrupt不触发问题
时间:10-02
整理:3721RD
点击:
Hi engineers,
目前我们系统使用kionix kxcj9-1008加速度传感器,使用interrupt方式接收处理数据,在工作一段时间后发现interrupt再也无法触发,由于kionix加速度传感器需要release一个register才能再被触发,因此我是在interrupt读取数据后去release kionix加速度传感器使它能再次触发中断。
请问,在什么情况下会使interrupt不触发,或者需要怎样能保证interrupt一定能触发,需要加critical section吗?
我在interrupt里面代码如下,请帮忙review一下是否需要修改?
HAL_ISR_FUNCTION( halAccelPort1Isr, P1INT_VECTOR )
{
HAL_ENTER_ISR();
/* Make sure we're processing the desired interrupt */
if ((P1IFG & HAL_ACCEL_P1_INTERRUPT_PINS) && (P1IEN & HAL_ACCEL_P1_INTERRUPT_PINS))
{
xxx_triger_acc_interrupt_read();//该函数中会release kionix中断,使能再次触发interrupt
}
P1IFG = 0;
P1IF = 0;
HAL_EXIT_ISR();
}
Anybody help me?