已回答假定已回答

用STM32外部中断连ADXL345

Viola 在 2013-1-22 詢問的問題
最後回覆由wangmigooo於2013-1-22提供

我启用STM32的EXTI,选择PB6管脚做外部中断线路。设置为输入线路上升沿中断请求。PB6用杜邦线连到ADXL345的INT1 pin。

ADXL345初始化配置:

1.写0x31寄存器:量程±2g(右对齐)(256=1g)

2.写0x2d寄存器:保证为测量模式

3.写0x2f寄存器:DATA READY中断映射到INT 1 pin,其他全部屏蔽

4.写0x2e寄存器:DATA READY中断使能,其他中断全部失能

在配置0x31寄存器时,INT_INVERT BIT我设为0,表示让中断激活高电平(set the interrupts to active high)

我的原意是每当ADXL345检测到新数据时,中断立即DATA READY,然后激活高电平,使EXTI管脚PB6检测到高电平。然后进入EXTI中断函数,在函数里面马上读取DATA(比如Z轴数据)。然后在主程序把数据显示出来(比如用LCD)。

但是测试结果我始终进不了EXTI中断。到底哪里错了?是不是ADXL345设置中断时候,哪里错了?请高人指示,不胜感激

結果