#include <stdio.h>
#include <stdint.h>
typedef struct
{
uint8_t head;
uint8_t acdata[64];
uint8_t heatrate;
uint8_t spo2;
uint8_t bk;
uint8_t rsv[8];
uint8_t sdnn;
uint8_t rmssd;
uint8_t nn50;
uint8_t pnn50;
uint8_t rra[6];
uint8_t rsv2[2];
}sensor_info_t;
int main () {
sensor_info_t *sensor_info;
uint8_t rate_buf[100] = {};
char rate_info_buf[] = \
"FF F6 F8 FA FB FD FE 00 01 02 04 05 05 05 04 03 02 01 00 00 00 00 01 01 02 02 03 04 06 07 09 0A 0C 0C 0D 0C 0B 09 06 04 01 00 00 00 00 00 02 04 07 08 0A 0B 0B 0A 08 05 02 00 FD FA F9 FA FB FE 01 53 60 00 1A 00 00 00 00 42 A4 5B 1A 1A 05 05 00 00 00 00 00 00 2E 01 ";
for (uint16_t i = 0; i < 88; i ++)
{
sscanf(rate_info_buf + i * 3, "%x ", rate_buf + i);
}
sensor_info = (sensor_info_t*)rate_buf;
printf("心率:%d\r\n",sensor_info->heatrate);
printf("血氧:%d\r\n",sensor_info->spo2);
printf("微循环:%d\r\n",sensor_info->bk);
printf("疲劳指数:%d\r\n",sensor_info->rsv[0]);
printf("收缩压:%d\r\n",sensor_info->rsv[3]);
printf("舒张压:%d\r\n",sensor_info->rsv[4]);
printf("心输出:%d\r\n",sensor_info->rsv[5]);
printf("外周阻力:%d\r\n",sensor_info->rsv[6]);
printf("rr间期:%d\r\n",sensor_info->rsv[7]);
printf("sdnn:%d\r\n",sensor_info->sdnn);
printf("rmssd:%d\r\n",sensor_info->rmssd);
printf("nn50:%d\r\n",sensor_info->nn50);
printf("pnn50:%d\r\n",sensor_info->pnn50);
return 0;
}