ADI 技术
直播中

潘千

7年用户 183经验值
私信 关注
[问答]

ADXL345无法产生Activity中断

ADXL345_WR_Reg(THRESH_ACT,0x01);
  ADXL345_WR_Reg(ACT_INACT_CTL,0x70);       //Ö±Á÷ñîºÏ  
  ADXL345_WR_Reg(DATA_FORMAT,0x20);          //µÍµçƽÓÐЧ

  ADXL345_WR_Reg(INT_MAP,(u8)~Activity);    // ½«ActivityÖжÏÓ³Éäµ½ INT1
  ADXL345_RD_Reg(INT_SOURCE);               //Çå¿ÕÖжϱê־λ


  ADXL345_WR_Reg(INT_ENABLE,(u8)Activity | DATA_READY);  //ʹÄÜActivity ÖжÏ
  ADXL345_WR_Reg(POWER_CTL,0x28);   //Á´½ÓʹÄÜ,²âÁ¿Ä£Ê½

这是我的程序,DATA_READY可以再INT2检测到,但是无论怎么晃动始终检测不到Activity信号

回帖(1)

刘悦竹

2018-9-13 11:40:55
1. 建议用AC模式activity中断,也就是写0xF0到寄存器ACT_INACT_CTL,如果用DC模式,要注意重力影响。如果门限值配置太小,小于1g,那会一直触发中断。
2. DATA_FORMAT建议配置成0x0B, 这样是高电平输出代表中断。也可以配置成0x2B,这样是低电平代表中断。
3. POWER_CTL应配置成0x08,如果写成0x28,LINK模式使能,此时既需要使能activity中断,也需要使能inactivity中断。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分