项目要求,需要感知震动,感知震动后通过外部中断唤醒MCU计数以实现低功耗。
根据DATASHEET中所提,Motion_Detection需要配置MOT_THR 、MOT_DUR、MOT_DETECT_CTRL、MOT_DETECT_STATUS(非必须,我没有配置) ,与Zero_Motion一样,通过读取 MOT_DETECT_STATUS 来判断是XYZ哪个方向的震动。
而外部中断则需要通过配置 INT_ENABLE 来实现。
强调一下:
MOT_DETECT_STATUS
MOT_THR
MOT_DUR
MOT_DETECT_CTRL(非必须)
下面解释下相关寄存器的含义:
MOT_DETECT_STATUS:
从DATASHEET可以看出,NEG置为一,震动为沿轴负方向,POS置为一,震动为沿轴正方向。