嗨,对话框
一个一直困扰我的问题,我的设备上挂了一个SPI接口的传感器,与da14580相连的中断引脚设置成高电平触发,设置函数如下:
空白GPIO2_INT_CFG(空白)
{
/*
* GPIO外部中断P2.0连接ADXL362的INT2
*/
SetWord16 (GPIO_IRQ2_IN_SEL_REG GPIO_INT_SRC_P2_0);
SetWord16 (GPIO_INT_LEVEL_CTRL_REG 0 x000);/* 输入是高电平的时候触发中断 */
NVIC_SetPriority (GPIO2_IRQn 2);/ *设定GPIO2中断优先级* /
NVIC_EnableIRQ (GPIO2_IRQn);/ *使能GPIO2中断* /
}
按照官方例子该函数在periph_init()函数中被调用。
但是用一段时间后,这个外部引脚就不响应中断了,必须重启设备才行。从2014年9月份开始我的问题就是一直存在。
希望能得到解答。
设备:
因为用的是GPIO中断,所以睡眠情况下并不会立即响应。你现在的设计在活跃的模式下稳定性如何?
另外,不太清楚你的SPI中断产生的波形。
GPIO_INT_LEVEL_CTRL_REG的配置里面关于EDGE_LEVELN2,你设置为1看看。
嗨,Gongyu_Dialog:
研究对话框也有一年半了,现在不是睡眠不立即响应的问题,而是根本就不响应的问题。就是会一直不响应除非重新启动。
我提到的SPI是挂接外设的的接口,跟中断没关系,这个外设的中断引脚和da14580的GPIO相连,每秒钟,给da14580一个中断。
GPIO_INT_LEVEL_CTRL_REG的配置里面关于EDGE_LEVELN2,你设置为1,1:等待键释放IRQ0中断后重置
但是这个不是按键中断而是一个加速度计的中断,我需要响应这个中断然后操作加速度计,否则这个加速度计的中断电平是不能释放的。
谢谢!
1.你之前说是用一段时间不行的.....刚开始是好的?
2 .另外,对应的中断处理调函数大概会运行多久吗?每次进去需要关中断,处理完了再开中断。
3.如果没有蓝牙广播和连接的情况试过吗?
嗨,Gongyu_Dialog:
刚开始是没问题的,很难复现。
“每次进去需要关中断,处理完了再开中断。“这个是肯定的。
中断处理调函数运行时间不长具体我没有测过
谢谢!