You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于MSP430FR6889的BMI160外部中断唤醒功能调试求助

MSP430FR6889无法通过BMI160中断唤醒休眠模式的排查方案

一、BMI160中断配置验证

  • 确认运动检测中断已启用:检查INT_EN_0(0x11)和INT_EN_1(0x12)寄存器,确保运动检测相关中断位已置1(参考BMI160手册第12章中断配置)。
  • 匹配中断触发方式:MSP430FR6889外部中断支持边沿触发(上升/下降),需确保BMI160的INT_OUT_CTRL(0x15)寄存器配置的中断输出极性(电平/边沿)与MSP430侧一致。比如MSP430设为下降沿触发时,BMI160需配置为低电平或下降沿输出中断。
  • 确认中断引脚功能:检查BMI160的INT_LATCH(0x14)寄存器,确保中断信号为脉冲或锁存模式,避免MSP430无法检测到触发信号。

二、MSP430FR6889侧配置检查

  • 外部中断引脚初始化:
    • 配置引脚为输入模式:PxDIR &= ~BITx
    • 设置中断触发边沿:PxIES |= BITx(下降沿)或PxIES &= ~BITx(上升沿),需与BMI160输出极性匹配
    • 使能引脚中断:PxIE |= BITx
    • 清除中断标志位:PxIFG &= ~BITx
  • 休眠模式与中断唤醒兼容性:MSP430FR6889的LPM3/LPM4模式下外部中断可唤醒,需确保全局中断已启用:进入休眠前执行__bis_SR_register(LPM3_bits + GIE)(以LPM3为例),避免GIE未开启导致无法唤醒。
  • 中断服务函数(ISR)正确性:ISR中需先清除中断标志位PxIFG &= ~BITx,避免重复触发;若使用FR系列端口锁存,需确保解锁相关配置。

三、硬件与信号验证

  • 检查物理连接:确认BMI160的INT引脚与MSP430的外部中断引脚连接牢固,无虚焊或断路。
  • 用示波器检测中断信号:移动加速度计时,观察INT引脚是否产生符合配置的电平变化或边沿信号,排除BMI160未输出中断的硬件问题。

常见代码错误示例

  • 遗漏全局中断使能:进入休眠前未设置GIE位,导致中断无法唤醒MCU。
  • BMI160中断配置未生效:初始化时未正确写入中断寄存器(比如I2C/SPI写操作失败,未校验寄存器值)。
  • 中断标志位未清除:ISR中未清除PxIFG,导致MCU持续触发中断或无法进入休眠。

内容的提问来源于stack exchange,提问作者Lalith Gv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 21:50:04