使用 STM32H750XBH6 驱动 MAX30102 心率血氧模块,由于采用 HAL库,因此可以方便地移植。
连线方式请参照 CubeMX 图示。其中 I2C1 用于和 MAX30102 通讯,I2C2 用于连接 128*64 的 OLED 屏幕。
如需移植:请特别留意 CubeMX 中 NVIC、GPIO,以及堆栈大小的设置。
其它注意事项:
- 在 algorithm.c 中配置的采样速率FS = 模块采样速率(800)/模块内部平均次数(8)=100。
- 在模块数据准备完毕后, 其 INT 引脚将保持为低电平,故应当及时检测低电平并读取硬件 fifo, 这样传感器才能采集并传输新数据。
- 编译优化需要选择 -O0 级别,否则可能出现问题(请自行尝试)。
在 Docs 目录内,来自官方。
分别包含了芯片使用方式,数据计算原理等。
项目使用了如下开源代码,部分代码有些许改动。