1、数据FIFO寄存器,也就是地址为0x07的FIFO DATA寄存器,必须一次性将采样数据全部读出,也就是IIC起始信号发出后,必须连续读取FIFO中所有数据,如果一个字节一个字节读的话,实测FIFO的读写指针不会变化,数据也没变化。
2、数据FIFO寄存器在完成初始化后,必须按照1中的要求,读空一次FIFO,否则后续读数据会一直不变
3、0x0C寄存器是红外光电流寄存器,0x0D是红色光电流寄存器,手册中描述的不是很清楚,
这两个寄存器可以用来做手指插入检测,红外光保持常亮,读取红外光反射数据可以检测手指是否插入,在手指未插入的时候,只开启红外光即可。
4、数据更新的好慢。。。。。。我设置的是FIFO剩余12个空间时申请A_FULL中断,样本平均数量为4个,100hz的采样频率。。。
5、原始采样数据我只进行了滑动均值滤波,滤波窗口为2,每100个采样数据计算一次心率,精度差强人意吧。